gpt4 book ai didi

entity-framework - 如何在 Entity Framework 7 中运行自动映射到实体的动态 SQL 查询 (SqlQuery)?

转载 作者:行者123 更新时间:2023-12-01 16:08:51 25 4
gpt4 key购买 nike

我有一个现有应用程序,正在尝试从 MVC5/EF6 升级到 MVC6/EF7。我们动态创建一些 SQL 表,因此利用了

System.Data.Entity.Database.SqlQuery

自动映射到我们在整个应用程序中使用的实体的方法。

这个方法似乎已经消失了(即不是 Microsoft.Data.Entity.Infrastruct.Database )在 EF7 中(或尚未实现)。是否有计划在 EF7 中重新实现此方法,或者是否有其他方法来实现此目的?在我们弄清楚这一点之前,我们的项目有点停滞不前。

编辑于 2015 年 5 月 20 日

我一直在尝试使用 FromSql 来完成这项工作,因为这是 Beta4 中提供的功能,但无论我尝试使用何种连接字符串、参数组合,我都会不断收到不同版本的“@xxxvariable 附近的语法不正确”消息。

var results = Set<AssessmentResult>().FromSql("dbo.GetAssessmentResults @FieldA='Data1', @FieldB='Data2', @UserId = 2303"); 
var results2 = Set<AssessmentResult>().FromSql("dbo.GetAssessmentResults @FieldA= {0}", intData);

这两个调用都会导致

"Incorrect syntax near '@FieldA'" 

有什么想法吗?

最佳答案

我们最近在 DbSet 上引入了 .FromSql() 扩展方法。它还有一个额外的好处,那就是您可以继续在其之上编写 LINQ。

var customers = db.Customers
.FromSql("SELECT * FROM Customer")
.Where(c => c.Name.StartsWith("A"));

关于entity-framework - 如何在 Entity Framework 7 中运行自动映射到实体的动态 SQL 查询 (SqlQuery<T>)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com