C# 如何使用NHibernate'处理批量数据操作的异常;无状态会话

C# 如何使用NHibernate'处理批量数据操作的异常;无状态会话,c#,nhibernate,C#,Nhibernate,我已经为NHibernate的无状态会话的批量数据操作开发了以下代码 var testObjects = CreateTestObjects(500000); var stopwatch = new Stopwatch(); stopwatch.Start(); using (ITransaction transaction = Session.BeginTransaction()) { foreach (v

我已经为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
中有10个项目,并且没有任何项目包含错误的模式或任何其他异常,那么我如何处理该事务?我的意思是说,5个项目已经提交,在该异常发生之后,其他5个项目将不会提交,因为事务失败。如果是这样,那么我如何处理这个


提前感谢

< P>因为Furace循环在事务中,如果一个项目在中间失败,没有人会到达数据库。因此,不需要特殊处理。

我不确定我是否理解这个问题,但交易pourpose正按照您所描述的那样进行…@FelicePollano我已提出问题foreach在交易中,因此,如果一个项目失败,您不应该找到第一个提交的项目。您的意思是说,如果一个项目在循环中失败,它将自动处理?是的,在这个意义上,没有人会进入数据库