0

进行这样的查询的最佳方法是什么,它将更新多行:

UPDATE B
    SET col_a = 1
    Where col_a = 0

我可以加载实体,然后循环它们为每个实体执行 EntitySave,但这似乎有点矫枉过正。我应该使用 HQL 进行更新吗?我可以使用 HQL 进行更新吗?

4

1 回答 1

1

您绝对可以使用ORMExecuteQuery. 这是我参与的一个项目的示例:

ORMExecuteQuery("UPDATE Part SET ReleaseDate = :ReleaseDate, ChangeNote = :ChangeNote WHERE ID IN (#Arguments.PartIDs#)", {ReleaseDate = Arguments.ReleaseDate, ChangeNote = Arguments.ChangeNote});

就这么简单...请注意,您将参数指定为:VarName并将它们作为ORMExecuteQuery函数的第二个参数输入。

于 2012-09-28T15:05:06.957 回答