私はFluent NHibernateを学んでいます。私は半永久的なPersistenceSpecificationクラスを実行しました。Fluent NHibernateのPersistenceSpecificationsで作成されたレコードをロールバックする
私はマッピングを検証するために単体テストで設定しました。ただし、完了するとデータベースにレコードが残されます。変更をロールバックできるようにトランザクションで投げてみましたが、エラーが発生します。
System.ObjectDisposedException:破棄されたオブジェクトにアクセスできません。 オブジェクト名: 'AdoTransaction' ..
トランザクションがなければ、レコードのIDを取り出して取得して削除する必要があり、非常にエレガントではありません。
どのような考えですか?
編集:ここでは
は、コードスニペットです:
var factory = GetSessionFactory();
using (var session = factory.OpenSession())
using (var transaction = session.BeginTransaction())
{
new PersistenceSpecification<TimePeriod>(session)
.CheckProperty(x => x.EndDate, DateTime.Today)
.VerifyTheMappings();
transaction.Rollback();
}
また、VerifyTheMappings呼び出しをSystem.EnterpriseServices.ServiceDomain.Enter()およびSetAbort()/ Leave()でラップすることも機能することがわかりました。 –