示例#1
0
        public static void Initialize(SchoolContext context)
        {
            // Look for any students.
            if (context.Students.Any())
            {
                return;   // DB has been seeded
            }

            var teachers = new Teacher[]
            {
                new Teacher {
                    FirstMidName = "Kim", LastName = "Abercrombie"
                },
                new Teacher {
                    FirstMidName = "Fadi", LastName = "Fakhouri"
                },
                new Teacher {
                    FirstMidName = "Roger", LastName = "Harui"
                },
                new Teacher {
                    FirstMidName = "Candace", LastName = "Kapoor"
                },
                new Teacher {
                    FirstMidName = "Roger", LastName = "Zheng"
                }
            };

            foreach (Teacher i in teachers)
            {
                context.Teachers.Add(i);
            }
            context.SaveChanges();

            var schoolclasses = new SchoolClass[]
            {
                new SchoolClass {
                    Name      = "1A",
                    TeacherID = teachers.Single(i => i.LastName == "Abercrombie").ID
                },
                new SchoolClass {
                    Name      = "2Б",
                    TeacherID = teachers.Single(i => i.LastName == "Fakhouri").ID
                },
                new SchoolClass {
                    Name      = "3В",
                    TeacherID = teachers.Single(i => i.LastName == "Harui").ID
                },
                new SchoolClass {
                    Name      = "4Г",
                    TeacherID = teachers.Single(i => i.LastName == "Kapoor").ID
                }
            };

            foreach (SchoolClass d in schoolclasses)
            {
                context.SchoolClasses.Add(d);
            }
            context.SaveChanges();

            var students = new Student[]
            {
                new Student {
                    FirstMidName   = "Carson", LastName = "Alexander", Birthday = DateTime.Parse("2010-09-01"), Sex = "male", StudentsClassID = schoolclasses.Single(i => i.Name == "1A").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2010-09-01")
                },
                new Student {
                    FirstMidName   = "Meredith", LastName = "Alonso", Birthday = DateTime.Parse("2010-09-01"), Sex = "male", StudentsClassID = schoolclasses.Single(i => i.Name == "2Б").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2012-09-01")
                },
                new Student {
                    FirstMidName   = "Arturo", LastName = "Anand", Birthday = DateTime.Parse("2010-09-01"), Sex = "male", StudentsClassID = schoolclasses.Single(i => i.Name == "3В").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2013-09-01")
                },
                new Student {
                    FirstMidName   = "Gytis", LastName = "Barzdukas", Birthday = DateTime.Parse("2010-09-01"), Sex = "male", StudentsClassID = schoolclasses.Single(i => i.Name == "4Г").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2012-09-01")
                },
                new Student {
                    FirstMidName   = "Yan", LastName = "Li", Birthday = DateTime.Parse("2010-09-01"), Sex = "male", StudentsClassID = schoolclasses.Single(i => i.Name == "4Г").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2012-09-01")
                },
                new Student {
                    FirstMidName   = "Peggy", LastName = "Justice", Birthday = DateTime.Parse("2010-09-01"), Sex = "male", StudentsClassID = schoolclasses.Single(i => i.Name == "1A").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2011-09-01")
                },
                new Student {
                    FirstMidName   = "Laura", LastName = "Norman", Birthday = DateTime.Parse("2010-09-01"), Sex = "female", StudentsClassID = schoolclasses.Single(i => i.Name == "1A").SchoolClassID,
                    EnrollmentDate = DateTime.Parse("2013-09-01")
                },
            };

            foreach (Student s in students)
            {
                context.Students.Add(s);
            }
            context.SaveChanges();

            var subjects = new Subject[]
            {
                new Subject {
                    SubjectID     = 1050, Title = "Chemistry",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "1A").SchoolClassID
                },
                new Subject {
                    SubjectID     = 4022, Title = "Microeconomics",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "1A").SchoolClassID
                },
                new Subject {
                    SubjectID     = 4041, Title = "Macroeconomics",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "1A").SchoolClassID
                },
                new Subject {
                    SubjectID     = 1045, Title = "Calculus",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "1A").SchoolClassID
                },
                new Subject {
                    SubjectID     = 3141, Title = "Trigonometry",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "2Б").SchoolClassID
                },
                new Subject {
                    SubjectID     = 2021, Title = "Composition",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "3В").SchoolClassID
                },
                new Subject {
                    SubjectID     = 2042, Title = "Literature",
                    SchoolClassID = schoolclasses.Single(s => s.Name == "4Г").SchoolClassID
                },
            };

            foreach (Subject c in subjects)
            {
                context.Subjects.Add(c);
            }
            context.SaveChanges();

            var positionAssignments = new PositionAssignment[]
            {
                new PositionAssignment {
                    TeacherID = teachers.Single(i => i.LastName == "Fakhouri").ID,
                    Position  = "Director"
                },
                new PositionAssignment {
                    TeacherID = teachers.Single(i => i.LastName == "Harui").ID,
                    Position  = "HeadTeacher"
                },
                new PositionAssignment {
                    TeacherID = teachers.Single(i => i.LastName == "Kapoor").ID,
                    Position  = "Teacher"
                },
            };

            foreach (PositionAssignment o in positionAssignments)
            {
                context.PositionAssignments.Add(o);
            }
            context.SaveChanges();

            var subjectTeachers = new SubjectAssignment[]
            {
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Chemistry").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Kapoor").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Chemistry").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Harui").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Microeconomics").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Zheng").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Macroeconomics").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Zheng").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Calculus").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Fakhouri").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Trigonometry").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Harui").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Composition").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Abercrombie").ID
                },
                new SubjectAssignment {
                    SubjectID = subjects.Single(c => c.Title == "Literature").SubjectID,
                    TeacherID = teachers.Single(i => i.LastName == "Abercrombie").ID
                },
            };

            foreach (SubjectAssignment ci in subjectTeachers)
            {
                context.SubjectAssignments.Add(ci);
            }
            context.SaveChanges();

            var enrollments = new Enrollment[]
            {
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Alexander").ID,
                    SubjectID = subjects.Single(c => c.Title == "Chemistry").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Alexander").ID,
                    SubjectID = subjects.Single(c => c.Title == "Microeconomics").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Alexander").ID,
                    SubjectID = subjects.Single(c => c.Title == "Macroeconomics").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Alonso").ID,
                    SubjectID = subjects.Single(c => c.Title == "Calculus").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Alonso").ID,
                    SubjectID = subjects.Single(c => c.Title == "Trigonometry").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Alonso").ID,
                    SubjectID = subjects.Single(c => c.Title == "Composition").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Anand").ID,
                    SubjectID = subjects.Single(c => c.Title == "Chemistry").SubjectID
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Anand").ID,
                    SubjectID = subjects.Single(c => c.Title == "Microeconomics").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Barzdukas").ID,
                    SubjectID = subjects.Single(c => c.Title == "Chemistry").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Li").ID,
                    SubjectID = subjects.Single(c => c.Title == "Composition").SubjectID,
                },
                new Enrollment {
                    StudentID = students.Single(s => s.LastName == "Justice").ID,
                    SubjectID = subjects.Single(c => c.Title == "Literature").SubjectID,
                }
            };

            foreach (Enrollment e in enrollments)
            {
                var enrollmentInDataBase = context.Enrollments.SingleOrDefault(s => s.Student.ID == e.StudentID &&
                                                                               s.Subject.SubjectID == e.SubjectID);
                if (enrollmentInDataBase == null)
                {
                    context.Enrollments.Add(e);
                }
            }
            context.SaveChanges();
        }