我有一个正在尝试从 MVC5/EF6 升级到 MVC6/EF7 的现有应用程序。我们动态创建了一些 SQL 表,因此,我们利用了
System.Data.Entity.Database.SqlQuery
方法自动映射到我们在整个应用程序中使用的实体。
这种方法在 EF7 中似乎已经消失(即不是 Microsoft.Data.Entity.Infrastructure.Database 的一部分)(或尚未实现)。是否有计划在 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'"
有任何想法吗?