public void PolymorphicCriteria()
        {
            if (!TestDialect.SupportsEmptyInsertsOrHasNonIdentityNativeGenerator)
            {
                Assert.Ignore("Support of empty inserts is required");
            }

            ISession     s   = OpenSession();
            ITransaction txn = s.BeginTransaction();
            Category     f   = new Category();
            Single       b   = new Single();

            b.Id     = "asdfa";
            b.String = "asdfasdf";
            s.Save(f);
            s.Save(b);
            IList list = s.CreateCriteria(typeof(object)).List();

            Assert.AreEqual(2, list.Count);
            Assert.IsTrue(list.Contains(f));
            Assert.IsTrue(list.Contains(b));
            s.Delete(f);
            s.Delete(b);
            txn.Commit();
            s.Close();
        }
Beispiel #2
0
        public void EmbeddedCompositeProperties()
        {
            ISession session = OpenSession();

            Single s = new Single();

            s.Id     = "my id";
            s.String = "string 1";
            session.Save(s);
            session.Flush();
            session.Clear();

            IQuery query = session.CreateSQLQuery("select {sing.*} from Single {sing}")
                           .AddEntity("sing", typeof(Single));

            IList list = query.List();

            Assert.IsTrue(list.Count == 1);

            session.Clear();

            query = session.CreateSQLQuery("select {sing.*} from Single {sing} where sing.Id = ?")
                    .AddEntity("sing", typeof(Single));
            query.SetString(0, "my id");
            list = query.List();

            Assert.IsTrue(list.Count == 1);

            session.Clear();

            query =
                session.CreateSQLQuery(
                    "select s.id as {sing.Id}, s.string_ as {sing.String}, s.prop as {sing.Prop} from Single s where s.Id = ?")
                .AddEntity("sing", typeof(Single));
            query.SetString(0, "my id");
            list = query.List();

            Assert.IsTrue(list.Count == 1);


            session.Clear();

            query =
                session.CreateSQLQuery(
                    "select s.id as {sing.Id}, s.string_ as {sing.String}, s.prop as {sing.Prop} from Single s where s.Id = ?")
                .AddEntity("sing", typeof(Single));
            query.SetString(0, "my id");
            list = query.List();

            Assert.IsTrue(list.Count == 1);

            session.Delete(list[0]);
            session.Flush();
            session.Close();
        }
Beispiel #3
0
        public void NonLazyBidirectional()
        {
            Single sin = new Single();

            sin.Id     = "asfdfds";
            sin.String = "adsa asdfasd";
            Several sev = new Several();

            sev.Id     = "asdfasdfasd";
            sev.String = "asd ddd";
            sin.Several.Add(sev);
            sev.Single = sin;

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    s.Save(sin);
                    t.Commit();
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    sin = (Single)s.Load(typeof(Single), sin);
                    t.Commit();
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    sev = (Several)s.Load(typeof(Several), sev);
                    t.Commit();
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    s.CreateQuery("from s in class Several").List();
                    t.Commit();
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    s.CreateQuery("from s in class Single").List();
                    t.Commit();
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    s.Delete("from Single");
                    t.Commit();
                }
        }
Beispiel #4
0
        public async Task NonLazyBidirectionalAsync()
        {
            Single sin = new Single();

            sin.Id     = "asfdfds";
            sin.String = "adsa asdfasd";
            Several sev = new Several();

            sev.Id     = "asdfasdfasd";
            sev.String = "asd ddd";
            sin.Several.Add(sev);
            sev.Single = sin;

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    await(s.SaveAsync(sin));
                    await(t.CommitAsync());
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    sin = (Single)await(s.LoadAsync(typeof(Single), sin));
                    await(t.CommitAsync());
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    sev = (Several)await(s.LoadAsync(typeof(Several), sev));
                    await(t.CommitAsync());
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    await(s.CreateQuery("from s in class Several").ListAsync());
                    await(t.CommitAsync());
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    await(s.CreateQuery("from s in class Single").ListAsync());
                    await(t.CommitAsync());
                }

            using (ISession s = OpenSession())
                using (ITransaction t = s.BeginTransaction())
                {
                    await(s.DeleteAsync("from Single"));
                    await(t.CommitAsync());
                }
        }
Beispiel #5
0
        public void PolymorphicCriteria()
        {
            ISession     s   = OpenSession();
            ITransaction txn = s.BeginTransaction();
            Category     f   = new Category();
            Single       b   = new Single();

            b.Id     = "asdfa";
            b.String = "asdfasdf";
            s.Save(f);
            s.Save(b);
            IList list = s.CreateCriteria(typeof(object)).List();

            Assert.AreEqual(2, list.Count);
            Assert.IsTrue(list.Contains(f));
            Assert.IsTrue(list.Contains(b));
            s.Delete(f);
            s.Delete(b);
            txn.Commit();
            s.Close();
        }
		public void NonLazyBidirectional()
		{
			Single sin = new Single();
			sin.Id = "asfdfds";
			sin.String = "adsa asdfasd";
			Several sev = new Several();
			sev.Id = "asdfasdfasd";
			sev.String = "asd ddd";
			sin.Several.Add(sev);
			sev.Single = sin;

			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				s.Save(sin);
				t.Commit();
			}

			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				sin = (Single) s.Load(typeof(Single), sin);
				t.Commit();
			}

			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				sev = (Several) s.Load(typeof(Several), sev);
				t.Commit();
			}

			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				s.CreateQuery("from s in class Several").List();
				t.Commit();
			}

			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				s.CreateQuery("from s in class Single").List();
				t.Commit();
			}

			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				s.Delete("from Single");
				t.Commit();
			}
		}
		public void PolymorphicCriteria()
		{
			ISession s = OpenSession();
			ITransaction txn = s.BeginTransaction();
			Category f = new Category();
			Single b = new Single();
			b.Id = "asdfa";
			b.String = "asdfasdf";
			s.Save(f);
			s.Save(b);
			IList list = s.CreateCriteria(typeof(object)).List();
			Assert.AreEqual(2, list.Count);
			Assert.IsTrue(list.Contains(f));
			Assert.IsTrue(list.Contains(b));
			s.Delete(f);
			s.Delete(b);
			txn.Commit();
			s.Close();
		}
Beispiel #8
0
		public void EmbeddedCompositeProperties()
		{
			ISession session = OpenSession();

			Single s = new Single();
			s.Id = "my id";
			s.String = "string 1";
			session.Save(s);
			session.Flush();
			session.Clear();

			IQuery query = session.CreateSQLQuery("select {sing.*} from Single {sing}")
				.AddEntity("sing", typeof(Single));

			IList list = query.List();

			Assert.IsTrue(list.Count == 1);

			session.Clear();

			query = session.CreateSQLQuery("select {sing.*} from Single {sing} where sing.Id = ?")
				.AddEntity("sing", typeof(Single));
			query.SetString(0, "my id");
			list = query.List();

			Assert.IsTrue(list.Count == 1);

			session.Clear();

			query =
				session.CreateSQLQuery(
					"select s.id as {sing.Id}, s.string_ as {sing.String}, s.prop as {sing.Prop} from Single s where s.Id = ?")
					.AddEntity("sing", typeof(Single));
			query.SetString(0, "my id");
			list = query.List();

			Assert.IsTrue(list.Count == 1);


			session.Clear();

			query =
				session.CreateSQLQuery(
					"select s.id as {sing.Id}, s.string_ as {sing.String}, s.prop as {sing.Prop} from Single s where s.Id = ?")
					.AddEntity("sing", typeof(Single));
			query.SetString(0, "my id");
			list = query.List();

			Assert.IsTrue(list.Count == 1);

			session.Delete(list[0]);
			session.Flush();
			session.Close();
		}