asp.net-core - Aspnetboilerplate:如何执行原始 sql 查询
问题描述
如何在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);
}
}
解决方案
他们提供了扩展方法ExecuteSqlRaw
,你可以调用这个方法来运行查询。
你可以这样打电话。
dbContextProvider.GetDbContext().Database.ExecuteSqlRaw();
dbContextProvider.GetDbContext().Database.ExecuteSqlRawAsync();
推荐阅读
- git - 添加特定文件而不输入整个路径?
- node.js - 如何将 HTML 中的按钮链接到 node.js 文件
- angular - ngx-datatable ERESOLVE 无法解析依赖树
- sql-server - 如何检查 Blazor Server 应用程序的数据库中是否存在用户输入?
- python - 如何为 Odoo 智能按钮设置顺序?
- python - 在 Python 中从 PDF 文件中提取文本并保留原始布局
- unity3d - URP 光照着色器打破了静态批处理
- python - Pymodbus 服务器写回调
- sql - 删除 postgresql 表中的所有约束 - 删除级联
- axios - 如何将 axios 设置为 Nuxt.js 的默认原型并将令牌附加到默认的 axios 授权标头?