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