如何在Entity Framework 7中運行自動映射到實體的動態SQL查詢(SqlQuery <T> )?

asp.net-core-mvc entity-framework entity-framework-core

我有一個現有的應用程序,我試圖從MVC5 / EF6升級到MVC6 / EF7。我們動態地創建了一些SQL表,結果就是使用了

System.Data.Entity.Database.SqlQuery

自動映射到我們在整個應用程序中使用的實體的方法。

這種方法似乎已經消失(即不是Microsoft.Data.Entity.Infrastructure.Database的一部分)在EF7中(或尚未實現)。是否有計劃在EF7中重新實現此方法,還是有另一種方法可以實現此目的?在我們解決這個問題之前,我們的項目在水中已經死了。

2015年5月20日編輯

我一直在嘗試使用FromSql,因為這是Beta4中可用的,但無論我嘗試的串聯字符串,參數的組合,我都會得到不同版本的“@xxxvariable附近的錯誤語法”消息。

System.Data.Entity.Database.SqlQuery

這兩個調用都會產生

System.Data.Entity.Database.SqlQuery

有任何想法嗎?

熱門答案

我們最近推出了.FromSql()的擴展方法DbSet 。它還有一個額外的好處,你可以繼續在它上面編寫LINQ。

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



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因