public void ExplicitFlushInsideSecondTransactionProblem() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Company), typeof(Person), typeof(Blog), typeof(Post)); Recreate(); Company comp1 = new Company("comp1"); Company comp2 = new Company("comp2"); using(new SessionScope()) { comp1.Create(); comp2.Create(); } using(new SessionScope(FlushAction.Never)) { using(TransactionScope tx = new TransactionScope(OnDispose.Rollback)) { Company comp2a = Company.Find(comp2.Id); comp2a.Name = "changed"; tx.VoteCommit(); } using(new TransactionScope(OnDispose.Rollback)) { Company[] changedCompanies = ActiveRecordMediator<Company>.FindAllByProperty("Name", "changed"); Assert.AreEqual(1, changedCompanies.Length); Company e2a = changedCompanies[0]; e2a.Delete(); SessionScope.Current.Flush(); Assert.AreEqual(0, ActiveRecordMediator<Company>.FindAllByProperty("Name", "changed").Length); } } }
public void ReportedProblemOnForum() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Company), typeof(Person), typeof(Blog), typeof(Post)); Recreate(); using(new TransactionScope()) { Company comp1 = new Company("comp1"); comp1.Create(); Company comp2 = new Company("comp2"); comp2.Create(); } }