Esempio n. 1
0
        public static void Initialize(SchoolDbContext context, UserManager <ApplicationUser> userManager, RoleManager <IdentityRole> roleManager)
        {
            // Örnek data oluşumundan önce DB'nin oluşturulduğundan emin oluyoruz.
            context.Database.EnsureCreated();

            // Db'de öğrenci var mı?
            if (context.Students.Any())
            {
                return;   // Db seed edilmiş
            }

            #region Db Seed
            //Sınıfları oluştur
            var grades = CreateGrades();
            context.AddRangeAsync(grades);
            context.SaveChangesAsync();

            //Dersleri oluştur
            var lessons = CreateLessons();
            context.AddRangeAsync(lessons);
            context.SaveChangesAsync();

            //Sınavları oluştur
            var exams = CreateExams();
            context.AddRangeAsync(exams);
            context.SaveChangesAsync();

            //Öğrencileri oluştur
            var students = CreateStudents();
            context.AddRangeAsync(students);
            context.SaveChangesAsync();

            //Öğrenciye sınav ve sonuçları ata
            var studentExams = CreateStudentExams(students, exams);
            context.AddRangeAsync(studentExams);
            context.SaveChangesAsync();

            //Öğrenciye ders sonuçlarını ata
            var studentLessons = CreateStudentLessons(students, lessons);
            context.AddRangeAsync(studentLessons);
            context.SaveChangesAsync();

            var gradeLessons = CreateGradeLessons(grades, lessons, studentLessons);
            context.AddRangeAsync(gradeLessons);
            context.SaveChangesAsync();

            CreateRoles(roleManager);
            CreateLogins(userManager, context.Students.ToList());
            #endregion
        }