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