parameters - EF Core 3.1 executesqlInterpolated,如何在查询中添加out参数
问题描述
我希望下面的 EF 查询通过输出参数获取总行数total
,但目前它还没有实现这个目标。如何重新编写此查询以获取正确的输出?
_dbContext
.Database
.ExecuteSqlInterpolated($@"select {total} = count(*)
from SomeDbSet
where ( columnA like '%{searchedValue1}%'
or columnB like '%{searchedValue2}%')");
解决方案
您需要先将总计声明为输出 SqlParameter,然后才能在插值查询中使用它。
SqlParameter total = new SqlParameter()
{
ParameterName = "@Total",
SqlDbType = SqlDbType.Int,
Direction = ParameterDirection.Output
};
推荐阅读
- javascript - 如何使用 JS / JQUERY 接收 Webhook?
- html - 如何将表单字段传递到“模板化”HTML文件中
- vue.js - Vue路由器。使用查询参数调用 this.$router.push() 会导致双重路由器更新
- php - 请求令牌时我可以访问超过 1 个范围吗?
- pyspark - pyspark.sql 模块错误:worker 中的 Python 2.7 版本与驱动程序 3.7 中的版本不同,PySpark 无法使用不同的次要版本运行
- vb.net - 为什么 Datagridview 只显示列标题而不显示表的其余部分?
- javascript - 在使用 PHP 在服务器端单击一次后,是否有永久禁用引导按钮?
- cassandra - cassandra 中的协调器节点如何由客户端驱动程序确定?
- marklogic - 是否可以在 MarkLogic 查询控制台中注册其余端点
- angular - 使用 Ionic 进行谷歌地图和地理定位:对象不是函数