gpt4 book ai didi

nhibernate - 在单个 NHibernate HQL 语句中执行多个更新

转载 作者:行者123 更新时间:2023-12-03 11:33:11 25 4
gpt4 key购买 nike

我想在 HQL 中编写以下 SQL,以便它作为单个语句执行:

update child_thingy c
set c.parent_thingy_id = null
where c.common_thingy_id = @common_thingy_id

delete
from parent_thingy p
where p.common_thingy_id = @common_thingy_id

我已将 SQL 翻译为 HQL,如下所示:
update ChildThingy c
set c.ParentThingy = null
where c.CommonThingy = :commonThingy

delete
from ParentThingy p
where c.ParentThingy = :commonThingy

我想将它作为单个语句运行,但我不能使用 CreateQuery 和 ExecuteUpdate 在单个 HQL 块中运行。我无法在 MultiQuery 块和 List 中运行它,因为我收到以下异常:
System.NullReferenceException: Object reference not set to an instance of an object.
at NHibernate.Impl.MultiQueryImpl.AggregateQueriesInformation()
at NHibernate.Impl.MultiQueryImpl.get_Parameters()
at NHibernate.Impl.MultiQueryImpl.CreateCombinedQueryParameters()
at NHibernate.Impl.MultiQueryImpl.List()

我似乎找不到与 ExecuteUpdate 等效的 MultiQuery。有任何想法吗?

最佳答案

似乎不可能(在 NH 2.1.2 中),所以不得不求助于使用 CreateSQLQuery 和 ExecuteUpdate :(

关于nhibernate - 在单个 NHibernate HQL 语句中执行多个更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2220715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com