protected override void OnSetUp() { cfg.Properties[Environment.CacheProvider] = typeof(HashtableCacheProvider).AssemblyQualifiedName; cfg.Properties[Environment.UseQueryCache] = "true"; sessions = (ISessionFactoryImplementor)cfg.BuildSessionFactory(); using (ISession session = OpenSession()) using(ITransaction tx = session.BeginTransaction()) { Item item = new Item(); item.Id = 1; session.Save(item); for (int i = 0; i < 4; i++) { Item child = new Item(); child.Id = i + 2; child.Parent = item; session.Save(child); item.Children.Add(child); } for (int i = 0; i < 5; i++) { AnotherItem obj = new AnotherItem("Item #" + i); obj.Id = i+1; session.Save(obj); } tx.Commit(); } sessions.Evict(typeof(Item)); sessions.EvictCollection(typeof(Item).FullName + ".Children"); }
public void InsertItemToCollectionOnTheSecondLevelCache() { using (ISession session = OpenSession()) { Item item = (Item)session.Load(typeof(Item), 1); Item child = new Item(); child.Id = 6; item.Children.Add(child); session.Save(child); session.Flush(); } using (ISession session = OpenSession()) { Item item = (Item)session.Load(typeof(Item), 1); int count = item.Children.Count; Assert.AreEqual(5, count); } }