进行这样的查询的最佳方法是什么,它将更新多行:
UPDATE B
SET col_a = 1
Where col_a = 0
我可以加载实体,然后循环它们为每个实体执行 EntitySave,但这似乎有点矫枉过正。我应该使用 HQL 进行更新吗?我可以使用 HQL 进行更新吗?
进行这样的查询的最佳方法是什么,它将更新多行:
UPDATE B
SET col_a = 1
Where col_a = 0
我可以加载实体,然后循环它们为每个实体执行 EntitySave,但这似乎有点矫枉过正。我应该使用 HQL 进行更新吗?我可以使用 HQL 进行更新吗?
您绝对可以使用ORMExecuteQuery
. 这是我参与的一个项目的示例:
ORMExecuteQuery("UPDATE Part SET ReleaseDate = :ReleaseDate, ChangeNote = :ChangeNote WHERE ID IN (#Arguments.PartIDs#)", {ReleaseDate = Arguments.ReleaseDate, ChangeNote = Arguments.ChangeNote});
就这么简单...请注意,您将参数指定为:VarName
并将它们作为ORMExecuteQuery
函数的第二个参数输入。