Beispiel #1
0
        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());
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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());
            }
        }
Beispiel #4
0
        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);
            }
        }