Aspnetboilerplate:如何执行原始 SQL 查询

Nit*_*ant 1 c# asp.net-core aspnetboilerplate



如何在asp.net core aspnetboilerplate 5.6.0中执行原始sql查询,
项目中似乎引用了实体框架代码3.1.4

我的代码如下

public interface ISqlExecuter
{
    int Execute(string sql, params object[] parameters);
}

public class SqlExecuter : ISqlExecuter, ITransientDependency
{
    private readonly IDbContextProvider<InsProDbContext> _dbContextProvider;

    public SqlExecuter(IDbContextProvider<InsProDbContext> dbContextProvider)
    {
        _dbContextProvider = dbContextProvider;
    }

    public int Execute(string sql, params object[] parameters)
    {
        _dbContextProvider.GetDbContext().Database//<= Here I dont see any function to execute SQL query
        //return 0;
        //return _dbContextProvider.GetDbContext().Database.ExecuteSqlCommand(sql, parameters);
    }
}
Run Code Online (Sandbox Code Playgroud)

viv*_*una 6

他们提供了扩展方法ExecuteSqlRaw,您可以调用此方法来运行查询。

你可以这样打电话。

dbContextProvider.GetDbContext().Database.ExecuteSqlRaw();
dbContextProvider.GetDbContext().Database.ExecuteSqlRawAsync();
Run Code Online (Sandbox Code Playgroud)