public void SingleTablePersistRealDelete() { StudentTop s = new StudentTop(); s.LoginName = "a"; s.Password = "******"; s.Name = "ab"; _studentvm.Entity = s; _studentvm.DoAdd(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { Assert.AreEqual(1, context.Set <StudentTop>().Count()); _studentvm.DC = context; _studentvm.Entity = new StudentTop { ID = s.ID }; _studentvm.DoRealDelete(); } using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { Assert.AreEqual(0, context.Set <StudentTop>().Count()); } }
public void Many2ManyDoAdd() { MajorTop m1 = new MajorTop { MajorCode = "111", MajorName = "major1", MajorType = MajorTypeEnum.Optional }; MajorTop m2 = new MajorTop { MajorCode = "222", MajorName = "major2", MajorType = MajorTypeEnum.Required }; StudentTop s1 = new StudentTop { LoginName = "s1", Password = "******", Name = "student1" }; StudentTop s2 = new StudentTop { LoginName = "s2", Password = "******", Name = "student2" }; _majorvm.Entity = m1; _majorvm.DoAdd(); _majorvm.Entity = m2; _majorvm.DoAdd(); s1.StudentMajor = new List <StudentMajorTop>(); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m1.ID }); s2.StudentMajor = new List <StudentMajorTop>(); s2.StudentMajor.Add(new StudentMajorTop { MajorId = m2.ID }); _studentvm.Entity = s1; _studentvm.DoAdd(); _studentvm.Entity = s2; _studentvm.DoAdd(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { Assert.AreEqual(2, context.Set <MajorTop>().Count()); Assert.AreEqual(2, context.Set <StudentTop>().Count()); Assert.AreEqual(2, context.Set <StudentMajorTop>().Count()); var rv = context.Set <StudentMajorTop>().ToList(); Assert.AreEqual(s1.ID, rv[0].StudentId); Assert.AreEqual(m1.ID, rv[0].MajorId); Assert.AreEqual(s2.ID, rv[1].StudentId); Assert.AreEqual(m2.ID, rv[1].MajorId); } }
public void Many2ManyDoEditClearRelation() { MajorTop m1 = new MajorTop { MajorCode = "111", MajorName = "major1", MajorType = MajorTypeEnum.Optional }; MajorTop m2 = new MajorTop { MajorCode = "222", MajorName = "major2", MajorType = MajorTypeEnum.Required }; MajorTop m3 = new MajorTop { MajorCode = "333", MajorName = "major3", MajorType = MajorTypeEnum.Required }; StudentTop s1 = new StudentTop { LoginName = "s1", Password = "******", Name = "student1" }; _majorvm.Entity = m1; _majorvm.DoAdd(); _majorvm.Entity = m2; _majorvm.DoAdd(); _majorvm.Entity = m3; _majorvm.DoAdd(); s1.StudentMajor = new List <StudentMajorTop>(); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m1.ID }); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m2.ID }); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m3.ID }); _studentvm.Entity = s1; _studentvm.DoAdd(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { s1.StudentMajor = null; _studentvm.DC = context; _studentvm.Entity = s1; _studentvm.DoEdit(); } using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { Assert.AreEqual(3, context.Set <StudentMajorTop>().Count()); } using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { s1.StudentMajor = new List <StudentMajorTop>(); _studentvm.DC = context; _studentvm.Entity = s1; _studentvm.DoEdit(); } using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { Assert.AreEqual(0, context.Set <StudentMajorTop>().Count()); } }
public void Many2ManyDoEdit() { MajorTop m1 = new MajorTop { MajorCode = "111", MajorName = "major1", MajorType = MajorTypeEnum.Optional }; MajorTop m2 = new MajorTop { MajorCode = "222", MajorName = "major2", MajorType = MajorTypeEnum.Required }; MajorTop m3 = new MajorTop { MajorCode = "333", MajorName = "major3", MajorType = MajorTypeEnum.Required }; StudentTop s1 = new StudentTop { LoginName = "s1", Password = "******", Name = "student1" }; _majorvm.Entity = m1; _majorvm.DoAdd(); _majorvm.Entity = m2; _majorvm.DoAdd(); _majorvm.Entity = m3; _majorvm.DoAdd(); s1.StudentMajor = new List <StudentMajorTop>(); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m1.ID }); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m2.ID }); _studentvm.Entity = s1; _studentvm.DoAdd(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { s1.StudentMajor.RemoveAt(0); s1.StudentMajor.Add(new StudentMajorTop { MajorId = m3.ID }); _studentvm.DC = context; _studentvm.Entity = s1; _studentvm.DoEdit(); } using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { Assert.AreEqual(3, context.Set <MajorTop>().Count()); Assert.AreEqual(1, context.Set <StudentTop>().Count()); Assert.AreEqual(2, context.Set <StudentMajorTop>().Count()); var rv1 = context.Set <StudentMajorTop>().Where(x => x.MajorId == m2.ID).SingleOrDefault(); var rv2 = context.Set <StudentMajorTop>().Where(x => x.MajorId == m3.ID).SingleOrDefault(); Assert.AreEqual(s1.ID, rv1.StudentId); Assert.AreEqual(m2.ID, rv1.MajorId); Assert.AreEqual(s1.ID, rv2.StudentId); Assert.AreEqual(m3.ID, rv2.MajorId); } }