原始 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);
我将我的应用程序迁移到 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);