public void CanUseDetachedCriteriaToQuery() { using (ISession s = OpenSession()) { Componentizable master = new Componentizable(); master.NickName = "master"; s.Save(master); s.Flush(); } DetachedCriteria detachedCriteria = DetachedCriteria.For(typeof(Componentizable)); detachedCriteria.Add(Expression.Eq("NickName", "master")); using (ISession s = OpenSession()) { Componentizable componentizable = (Componentizable) detachedCriteria.GetExecutableCriteria(s).UniqueResult(); Assert.AreEqual("master", componentizable.NickName); s.Delete(componentizable); s.Flush(); } }
private Componentizable GetMaster(String name, String subName, String subName1) { Componentizable master = new Componentizable(); if (name != null) { Component masterComp = new Component(); masterComp.Name = name; if (subName != null || subName1 != null) { SubComponent subComponent = new SubComponent(); subComponent.SubName = subName; subComponent.SubName1 = subName1; masterComp.SubComponent = subComponent; } master.Component = masterComp; } return master; }
private void ComponentTest( string sql ) { ISession session = OpenSession(); Componentizable c = new Componentizable(); c.NickName = "Flacky"; Component component = new Component(); component.Name = "flakky comp"; SubComponent subComponent = new SubComponent(); subComponent.SubName = "subway"; component.SubComponent = subComponent; c.Component = component; session.Save(c); session.Flush(); session.Clear(); IQuery q = session.CreateSQLQuery(sql, "comp", typeof( Componentizable )); IList list = q.List(); Assert.AreEqual(list.Count,1); Componentizable co = (Componentizable) list[0]; Assert.AreEqual(c.NickName, co.NickName); Assert.AreEqual(c.Component.Name, co.Component.Name); Assert.AreEqual(c.Component.SubComponent.SubName, co.Component.SubComponent.SubName); session.Delete(co); session.Flush(); session.Close(); }