我尝试使用以下方法删除对象列表:
public void Delete(Foo[] foos)
{
using(ITransaction transaction = this.Session.BeginTransaction())
{
foreach(Foo foo in foos)
{
this.Session.Delete(foo);
}
transaction.Commit();
}
}
这里的问题只是删除了最后一个对象。如果我将它们分成两个单独的交易,它将工作正常,但这不符合我的意图。因为如果在流程中发生了某些事情,我就无法回滚这些实体。如何在同一个交易中删除所有这些?