哪些例外情况应导致Nhibernate会话关闭?
我读到Nhibernate异常导致会话状态无效。所以,我的问题是,我应该处理哪些异常,关闭并重新打开会话。?我应该重新加载所有实体吗 我的场景-我正在演示者类中为表单打开一个会话。而且,我使用的是如下事务哪些例外情况应导致Nhibernate会话关闭?,nhibernate,Nhibernate,我读到Nhibernate异常导致会话状态无效。所以,我的问题是,我应该处理哪些异常,关闭并重新打开会话。?我应该重新加载所有实体吗 我的场景-我正在演示者类中为表单打开一个会话。而且,我使用的是如下事务 using (ITransaction transaction = session.BeginTransaction()) { foreach (var item in records) {
using (ITransaction transaction = session.BeginTransaction())
{
foreach (var item in records)
{
session.Delete(item);
}
transaction.Commit();
}
so, should I do this?
using (ITransaction transaction = session.BeginTransaction())
{
foreach (var item in records)
{
session.Delete(item);
}
try
{
transaction.Commit();
}
catch(Exception ex)
{
rollback,
session.dispose
session = factor.opensession()
}
}
首先,我一直使用第二个选项。现在的问题是,处理和打开一个新会话是如此,所以我通常不介意“如果发生任何错误”就这样做