Пример #1
0
        public async Task TestExcludingQBEAsync()
        {
            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    Componentizable master = GetMaster("hibernate", null, "ope%");
                    ICriteria       crit   = s.CreateCriteria(typeof(Componentizable));
                    Example         ex     = Example.Create(master).EnableLike()
                                             .ExcludeProperty("Component.SubComponent");
                    crit.Add(ex);
                    IList result = await(crit.ListAsync());
                    Assert.IsNotNull(result);
                    Assert.AreEqual(3, result.Count);

                    master = GetMaster("hibernate", "ORM tool", "fake stuff");
                    crit   = s.CreateCriteria(typeof(Componentizable));
                    ex     = Example.Create(master).EnableLike()
                             .ExcludeProperty("Component.SubComponent.SubName1");
                    crit.Add(ex);
                    result = await(crit.ListAsync());
                    Assert.IsNotNull(result);
                    Assert.AreEqual(1, result.Count);
                    await(t.CommitAsync());
                }
        }
Пример #2
0
 public async Task TestEnableLikeWithMatchmodeAnywhereAsync()
 {
     using (ISession s = OpenSession())
         using (ITransaction t = s.BeginTransaction()) {
             Componentizable master = GetMaster("bern", null, null);
             ICriteria       crit   = s.CreateCriteria(typeof(Componentizable));
             Example         ex     = Example.Create(master).EnableLike(MatchMode.Anywhere);
             crit.Add(ex);
             IList result = await(crit.ListAsync());
             Assert.IsNotNull(result);
             Assert.AreEqual(3, result.Count);
             await(t.CommitAsync());
         }
 }
Пример #3
0
 public void TestEnableLikeWithMatchmodeEnd()
 {
     using (ISession s = OpenSession())
         using (ITransaction t = s.BeginTransaction()) {
             Componentizable master = GetMaster("nate", null, "ORM tool1");
             ICriteria       crit   = s.CreateCriteria(typeof(Componentizable));
             Example         ex     = Example.Create(master).EnableLike(MatchMode.End);
             crit.Add(ex);
             IList result = crit.List();
             Assert.IsNotNull(result);
             Assert.AreEqual(1, result.Count);
             t.Commit();
         }
 }
Пример #4
0
 public async Task TestSimpleQBEAsync()
 {
     using (ISession s = OpenSession())
         using (ITransaction t = s.BeginTransaction())
         {
             Componentizable master = GetMaster("hibernate", null, "ope%");
             ICriteria       crit   = s.CreateCriteria(typeof(Componentizable));
             Example         ex     = Example.Create(master).EnableLike();
             crit.Add(ex);
             IList result = await(crit.ListAsync());
             Assert.IsNotNull(result);
             Assert.AreEqual(1, result.Count);
             await(t.CommitAsync());
         }
 }
Пример #5
0
        private Componentizable GetMaster(String name, String subName, String subName1)
        {
            Componentizable master = new Componentizable();

            if (name != null)
            {
                NHibernate.DomainModel.Component masterComp = new NHibernate.DomainModel.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);
        }
Пример #6
0
        public async Task TestJunctionNotExpressionQBEAsync()
        {
            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    Componentizable master = GetMaster("hibernate", null, "ope%");
                    ICriteria       crit   = s.CreateCriteria(typeof(Componentizable));
                    Example         ex     = Example.Create(master).EnableLike();

                    crit.Add(Expression.Or(Expression.Not(ex), ex));

                    IList result = await(crit.ListAsync());
                    Assert.IsNotNull(result);
                    //if ( !(dialect is HSQLDialect - h2.1 test

                    Assert.AreEqual(2, result.Count, "expected 2 objects");
                    await(t.CommitAsync());
                }
        }
        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();
            }
        }
Пример #8
0
        public async Task CanUseDetachedCriteriaToQueryAsync()
        {
            using (ISession s = OpenSession())
            {
                Componentizable master = new Componentizable();
                master.NickName = "master";
                await(s.SaveAsync(master));
                await(s.FlushAsync());
            }

            DetachedCriteria detachedCriteria = DetachedCriteria.For(typeof(Componentizable));

            detachedCriteria.Add(Expression.Eq("NickName", "master"));

            using (ISession s = OpenSession())
            {
                Componentizable componentizable = (Componentizable)await(detachedCriteria.GetExecutableCriteria(s).UniqueResultAsync());
                Assert.AreEqual("master", componentizable.NickName);
                await(s.DeleteAsync(componentizable));
                await(s.FlushAsync());
            }
        }
Пример #9
0
        private void InitData()
        {
            using (ISession s = OpenSession())
            {
                Componentizable master = GetMaster("hibernate", "ORM tool", "ORM tool1");
                s.Save(master);
                s.Flush();
            }

            using (ISession s = OpenSession())
            {
                Componentizable master = GetMaster("hibernate", "open source", "open source1");
                s.Save(master);
                s.Flush();
            }

            using (ISession s = OpenSession())
            {
                Componentizable master = GetMaster("hibernate", null, null);
                s.Save(master);
                s.Flush();
            }
        }
Пример #10
0
        private async Task InitDataAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            using (ISession s = OpenSession())
            {
                Componentizable master = GetMaster("hibernate", "ORM tool", "ORM tool1");
                await(s.SaveAsync(master, cancellationToken));
                await(s.FlushAsync(cancellationToken));
            }

            using (ISession s = OpenSession())
            {
                Componentizable master = GetMaster("hibernate", "open source", "open source1");
                await(s.SaveAsync(master, cancellationToken));
                await(s.FlushAsync(cancellationToken));
            }

            using (ISession s = OpenSession())
            {
                Componentizable master = GetMaster("hibernate", null, null);
                await(s.SaveAsync(master, cancellationToken));
                await(s.FlushAsync(cancellationToken));
            }
        }
Пример #11
0
        private void ComponentTest(string sql)
        {
            ISession session = OpenSession();

            Componentizable c = new Componentizable();

            c.NickName = "Flacky";
            NHibernate.DomainModel.Component component = new NHibernate.DomainModel.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).AddEntity("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();
        }
Пример #12
0
        private async Task ComponentTestAsync(string sql, CancellationToken cancellationToken = default(CancellationToken))
        {
            ISession session = OpenSession();

            Componentizable c = new Componentizable();

            c.NickName = "Flacky";
            NHibernate.DomainModel.Component component = new NHibernate.DomainModel.Component();
            component.Name = "flakky comp";
            SubComponent subComponent = new SubComponent();

            subComponent.SubName   = "subway";
            component.SubComponent = subComponent;

            c.Component = component;

            await(session.SaveAsync(c, cancellationToken));

            await(session.FlushAsync(cancellationToken));

            session.Clear();

            IQuery q    = session.CreateSQLQuery(sql).AddEntity("comp", typeof(Componentizable));
            IList  list = await(q.ListAsync(cancellationToken));

            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);

            await(session.DeleteAsync(co, cancellationToken));
            await(session.FlushAsync(cancellationToken));
            session.Close();
        }