在 Entity Framework (EF) 中,如果你需要执行原始 SQL 语句,可以使用 DbContext
提供的 Database.SqlQuery
方法。这允许你直接在数据库上执行 SQL 命令,并返回结果。
以下是如何在 EF 中执行 SQL 语句的步骤:
1. 执行查询并返回结果
如果你的 SQL 语句是查询(如 SELECT
),你可以使用 SqlQuery
方法执行它,并指定返回结果的类型。
using (var context = new BloggingContext())
{
var blogs = context.Database.SqlQuery<Blog>("SELECT * FROM Blogs").ToList();
}
在这个例子中,SqlQuery<Blog>
执行一个 SQL 查询,并尝试将结果映射到 Blog
类型的实体列表。
2. 执行非查询命令
如果你需要执行一个非查询命令(如 INSERT
、UPDATE
、DELETE
),你可以使用 ExecuteSqlCommand
方法。
using (var context = new BloggingContext())
{
context.Database.ExecuteSqlCommand("DELETE FROM Blogs WHERE BlogId = 1");
context.SaveChanges();
}
这个例子中,ExecuteSqlCommand
执行一个 SQL 删除命令。