Beispiel #1
0
        public static void InitializeData(DbContextManyToManyRelationship dbContext)
        {
            dbContext.ResetDatabase();

            CreateITDepartment(dbContext);
            dbContext.SaveChanges();
            CreateSalesDepartment(dbContext);
            CreateProductionDepartment(dbContext);
            dbContext.SaveChanges();
        }
Beispiel #2
0
        public void EFSecurityDemoTest_ReadAllData()
        {
            using (DbContextManyToManyRelationship dbContext = new DbContextManyToManyRelationship()) {
                SecurityTestHelper.InitializeData(dbContext);
                SecurityTestHelper.ContactSecuritySetUp(dbContext);
                SecurityTestHelper.DepartmentSecuritySetUp(dbContext);
                SecurityTestHelper.TaskSecuritySetUp(dbContext);
                dbContext.SaveChanges();

                int contactsnativeCriteriaCount = dbContext.GetRealDbContext().Contacts.
                                                  Include(c => c.Department).Include(c => c.ContactTasks).ThenInclude(ct => ct.Task).
                                                  Where(obj => !(obj.Department != null && obj.Department.Title == "Sales")).
                                                  Where(obj => obj.ContactTasks.Any(p => !(p.Task.Description == "Draw"))).Count();

                IEnumerable <Contact> contacts = dbContext.Contacts.Include(c => c.Department).Include(c => c.ContactTasks).ThenInclude(ct => ct.Task);
                Assert.AreEqual(contactsnativeCriteriaCount, contacts.Count());
                IEnumerable <Department> departments = dbContext.Departments.Include(d => d.Contacts).ThenInclude(c => c.ContactTasks).ThenInclude(ct => ct.Task);
                CheckDepartmentsData(departments);
                IEnumerable <DemoTask> tasks = dbContext.Tasks.Include(t => t.ContactTasks).ThenInclude(ct => ct.Contact).ThenInclude(c => c.Department);
                CheckTasksData(tasks);
            }
        }