如何用NHibernate';处理批量数据操作的异常;s无状态会话
本文关键字:异常 操作 会话 状态 数据 NHibernate 何用 处理 | 更新日期: 2023-09-27 18:29:47
我开发了下面的代码,用于使用NHibernate的无状态会话进行批量数据操作。
var testObjects = CreateTestObjects(500000);
var stopwatch = new Stopwatch();
stopwatch.Start();
using (ITransaction transaction = Session.BeginTransaction())
{
foreach (var testObject in testObjects)
{
Session.Save(testObject);
}
transaction.Commit();
}
stopwatch.Stop();
var time = stopwatch.Elapsed;
现在我的问题是,假设我的testObjects
和第5个项目中有10个项目,没有项目包含错误的架构或任何其他异常,那么我该如何处理此事务?我的意思是说,有5个项目已经提交,在发生异常之后,由于事务失败,其他5个项目将不会提交。如果是这样,那么我如何处理?
提前感谢
由于foreach
循环在事务内部,如果中间有一项失败,则没有人会访问数据库。因此没有必要进行特殊处理。