原始 SQL 查询和 Entity Framework 核心

Raw SQL queries and Entity Framework Core

我将我的应用程序迁移到 ASP.NET MVC 核心和 Entity Framework 核心,我发现了问题。我有原始 SQL 查询实体这样

var rawSQL = dbContext.Database.SqlQuery<SomeModel>("Raw SQL Query").ToList();

但是context.Database里面没有SqlQuery<T>。你有解决这个问题的方法吗?

确保添加 using Microsoft.Data.Entity; 因为您可以使用扩展方法。

var rawSQL = dbContext.SomeModels.FromSql("your SQL");

甚至更好,而不是使用原始 SQL(有 SQL 注入攻击的风险)这个 FromSql 方法允许您使用参数化查询,如:

dbContext.SomeModels.FromSql("SELECT * FROM dbo.Blogs WHERE Name = @p0", blogName);