예제 #1
0
        public void TestInverseSql()
        {
            var class1 = InitClasses();
            var s1     = class1.Students[0];
            var s2     = class1.Students[1];
            var class2 = new Class()
            {
                ClassName = "Class2"
            };

            s1.Class = class2;
            s1.Name  = "班级2的学生";
            s1.Class = class2;
            s2.Class = class2;
            Debug.WriteLine("--Begin Save--");
            Session.SaveOrUpdate(class1);
            Session.SaveOrUpdate(class2);
            Debug.WriteLine("--End Save--");
            Session.Flush();
            Debug.WriteLine("--End Flush--");
            var c1 = NewSession.Get <Class>(class1.Id);

            Debug.WriteLine("Class 1 Student count:" + c1.Students.Count);
            var c2 = NewSession.Get <Class>(class2.Id);

            Debug.WriteLine("Class 2 Student count:" + c2.Students.Count);
        }
예제 #2
0
        public void TestSelect()
        {
            UserA a = new UserA()
            {
                Name = "User A", Files = new List <UserAFile> {
                    new UserAFile()
                    {
                        FileName = "About A.txt"
                    }, new UserAFile()
                    {
                        FileName = "Only for User A"
                    }
                }
            };
            UserB b = new UserB()
            {
                Number = "NumberB"
            };

            Session.Save(a);
            Session.Save(b);
            Session.Flush();
            var userb = NewSession.Get <UserB>(b.Id);

            Assert.AreEqual(userb.Files.Count, 0);
        }
예제 #3
0
        public void TestM2MInverse()
        {
            Emp e1 = new Emp()
            {
                Name = "E1"
            };
            Emp e2 = new Emp()
            {
                Name = "E2"
            };
            Award a1 = new Award()
            {
                Name = "A1"
            };
            Award a2 = new Award()
            {
                Name = "A2"
            };

            //e1.Awards=new List<Award>(){a1,a2};
            a1.Emps = new List <Emp>()
            {
                e1
            };
            a2.Emps = new List <Emp>()
            {
                e1
            };
            Debug.WriteLine("---Begin Save---");


            Session.SaveOrUpdate(e1);
            Session.SaveOrUpdate(e2);
            Session.SaveOrUpdate(a1);
            Session.SaveOrUpdate(a2);
            Debug.WriteLine("---Begin Flush---");
            Session.Flush();
            Debug.WriteLine("---End Flush---");
            var award1 = NewSession.Get <Award>(a1.Id);

            foreach (var emp in award1.Emps)
            {
                Debug.WriteLine(emp);
            }
        }