c# - SQLKata 更新查询,包括 FromRaw 语句
问题描述
我正在尝试在 SQLKata 中创建一个包含“FromRaw”语句的更新查询。以下是我尝试完成的最佳尝试的副本。我必须使用 FromRaw 语句,因为我在评估中链接了 2 个表。有什么方法可以在不必求助于 Statement() 函数的情况下实现这一点?
var query = db.Query(Table1)
.FromRaw(" Table1 INNER JOIN Table2 " +
" ON LEFT([Table1].[Company],5) = " +
" LEFT([Table2].[Company],5)" )
.Update(new { scrub = "match" });
以下是错误消息的副本: System.InvalidOperationException: 'Invalid table expression'
解决方案
这段代码对我来说很好用:
var compiler = new SqlServerCompiler();
//var Table1 = "Table1";
var query = new Query(null)
.FromRaw("Table1 INNER JOIN Table2 " +
"ON LEFT([Table1].[Company],5) = " +
"LEFT([Table2].[Company],5)")
.AsUpdate(new { scrub = "match" });
var rawSql = compiler.Compile(query).RawSql;
值为rawSql
:
UPDATE Table1 INNER JOIN Table2 ON LEFT([Table1].[Company],5) = LEFT([Table2].[Company],5) SET [scrub] = ?
您收到的错误消息仅在 中找到Compiler.cs
,这就是为什么我建议您检查您正在使用的编译器的原因。
推荐阅读
- python - 如何在 python 中打印自定义对象数组?
- python - Python:尝试获取 3990X 上的逻辑和物理内核数量,得到错误答案?
- python - 未找到“update_prices”的反向。“update_prices”不是有效的视图函数或模式名称
- php - 如何在 PHP 中将 .pdf 从 post 方法转换为 .jpg
- reactjs - 将本地存储库添加到 github 存储库中的文件夹
- string - mut 循环内的字符串重新声明
- c# - 在 c# XNA 中选择的问题
- php - 在 Woocommerce 中更改产品变体时如何更新数量选择器?
- arrays - 在 Julia 中生成每隔一对整数的列表
- angular - 条纹没有定义,但我已经在我的角度项目中明确定义了它