public void Dispose()
{
if (disposed)
return;
if (session == null)
return;
try
{
if (preventCommit)
transaction.Rollback();
else
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
finally
{
transaction.Dispose();
}
session.Dispose();
session = null;
transaction = null;
disposed = true;
}