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

本文关键字:框架 核心 实体 SQL 查询 原始 | 更新日期: 2023-09-27 18:34:07

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

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

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

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

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