public void StaleObjectStateCheckWithEntityPersisterAndOptimisticLock() { Optimistic optimistic = new Optimistic(); optimistic.String = "original string"; try { using (ISession session = OpenSession()) { session.Save(optimistic); session.Flush(); using (ISession concurrentSession = OpenSession()) { Optimistic sameOptimistic = (Optimistic) concurrentSession.Get(typeof(Optimistic), optimistic.Id); sameOptimistic.String = "another string"; concurrentSession.Flush(); } optimistic.String = "new string"; Assert.Throws<StaleObjectStateException>(() => session.Flush()); } } finally { using (ISession session = OpenSession()) { session.Delete("from Optimistic"); session.Flush(); } } }
public void DeleteOptimistic() { using (ISession s = OpenSession()) { Optimistic op = new Optimistic(); op.Bag = new List<string> {"xyz"}; s.Save(op); } using (ISession s = OpenSession()) { s.Delete("from Optimistic"); s.Flush(); } }
public void DeleteOptimistic() { using (ISession s = OpenSession()) { Optimistic op = new Optimistic(); op.Bag = new ArrayList(); op.Bag.Add("xyz"); s.Save(op); } using (ISession s = OpenSession()) { s.Delete("from Optimistic"); s.Flush(); } }