public void DoNotDeadlockOnAfterTransactionWait() { var interceptor = new AfterTransactionWaitingInterceptor(); using (var s = WithOptions().Interceptor(interceptor).OpenSession()) using (var tx = new TransactionScope()) { if (!AutoJoinTransaction) { s.JoinTransaction(); } s.Save(new Person()); s.Flush(); tx.Complete(); } Assert.That(interceptor.Exception, Is.Null); }
public async Task DoNotDeadlockOnAfterTransactionWaitAsync() { var interceptor = new AfterTransactionWaitingInterceptor(); using (var s = WithOptions().Interceptor(interceptor).OpenSession()) using (var tx = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { if (!AutoJoinTransaction) { s.JoinTransaction(); } await(s.SaveAsync(new Person())); await(s.FlushAsync()); tx.Complete(); } Assert.That(interceptor.Exception, Is.Null); }