gpt4 book ai didi

c# - NHibernate:对单个事务进行多次提交

转载 作者:行者123 更新时间:2023-11-30 22:10:20 24 4
gpt4 key购买 nike

我想遍历一组对象并进行更改,然后分组提交这些更改,因为数据量可能非常大。当我这样做时,我得到一个 ObjectDisposedException。关于如何更好地处理这个问题有什么建议吗?

using (ITransaction tx = Session.BeginTransaction())
{
for (int i = 0; i < 100; i++)
{
//DO Something
if (i % 10 == 0)
{
tx.Commit();
}
}
}

最佳答案

您在一个循环中提交事务,这意味着您试图多次提交一个打开的事务。这在设计上是不可能的。一个事务只能提交一次。

所以您的两个选择是,围绕循环进行一项交易

或每个循环一个事务。当然,您仍然可以每 x 个对象批处理您的更改,但是每批您必须打开一个新事务并提交更改,然后打开另一个事务等...

关于c# - NHibernate:对单个事务进行多次提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20894276/

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