我需要在已经通过 EF Core 6.0.6 连接的 MS SQL 中执行 SQL 命令。
所以我尝试了这个:
db.Database.Query<Question>("COMMAND");
但它说不DatabaseFacade包含 Query 方法。与这些相同的事情:
DatabaseFacade
db.Query<Question>("COMMAND"); db.Database.ExecuteSqlCommand("COMMAND"); db.Database.SqlQuery("COMMAND"); db.Database.GetDbConnection();
一点解释:
db
ApplicationDbContext
IdentityDbContext``Microsoft.AspNetCore.Identity.EntityFrameworkCore
Question
Questions
所以我的主要问题是:Is there a way of executing raw SQL in EF Core 6.0.6?
Is there a way of executing raw SQL in EF Core 6.0.6?
我将非常感谢有关此事的任何材料或提示。
你试过这个吗?
var questions = db.Questions.FromSqlRaw("SELECT * FROM Questions").ToList();
确保你using Microsoft.EntityFrameworkCore在上面
using Microsoft.EntityFrameworkCore
或者,如果您可以通过服务提供商访问 ApplicationDbContext,您可以尝试以下操作:
var context = serviceScope.ServiceProvider.GetService<ApplicationDbContext>(); context.Database.ExecuteSqlRaw("SQL");