我知道NHibernate支持環境事務,因爲NHibernate會話在事務範圍內的環境事務中使用。但是,有一些奇怪的是,考慮以下測試:缺少對nhibernate中環境事務的支持?
[Test]
public void Transaction_RollsBackTransactionInsideOfAmbientTransaction_AmbientTransactionAborted()
{
// arrange
ISessionFactory sessionFactory = SessionFactoryOneTimeInitializer.GetTestSessionFactory();
ISession session = sessionFactory.OpenSession();
SessionFactoryOneTimeInitializer.CreateDataBaseSchemaIfRequiredByConfiguration(session);
using (new TransactionScope())
{
using (ITransaction transaction = session.BeginTransaction())
{
// act
transaction.Rollback();
}
// assert
Assert.AreEqual(TransactionStatus.Aborted, Transaction.Current.TransactionInformation.Status);
}
}
該測試失敗。 NHibernate將如何確保環境事務不會持久化到數據庫?