原始SQL查询和实体框架核心

时间:2016-02-10 02:28:19

标签: c# asp.net-core asp.net-core-mvc entity-framework-core

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

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

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

1 个答案:

答案 0 :(得分:12)

确保添加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);