在一条NHibernate HQL语句中进行多次更新

本文关键字:更新 一条 NHibernate HQL 语句 | 更新日期: 2023-09-27 18:05:42

我想用NHibernate HQL一次执行以下两条语句:

update CustomFieldValue set Value = :newVal where Key = 1 and Value = :oldVal;
update CustomFieldValue set Value = :newVal where Key = 1 and Value = :oldVal;

我创建了一个字符串,并尝试用

更新它
var query = this.Session.CreateQuery(hql);
// ... set parameters
query.ExecuteUpdate();

但是我总是得到QuerySyntaxException。这是不可能与NHibernate 3.3.1或我做错了什么?

在一条NHibernate HQL语句中进行多次更新

我很难理解你为什么要这样做?是我遗漏了它,还是您想提交给数据库的命令相同?

我完全是在猜测,但你真的想做这样的事情吗:

update CustomFieldValue set Value = :newVal1 where Key = 1 and Value = :oldVal1;
update CustomFieldValue set Value = :newVal2 where Key = 1 and Value = :oldVal2;

在我看来,这行得通吗?