예제 #1
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity <UserTask>()
            .ToTable("UserTasks")
            .HasOne(ut => ut.User)
            .WithMany(u => u.UserTasks)
            .HasForeignKey(ut => ut.UserId);
            modelBuilder.Entity <UserTask>()
            .HasOne(ut => ut.Task)
            .WithMany(t => t.TaskUsers)
            .HasForeignKey(ut => ut.TaskId);

            modelBuilder.Entity <Message>()
            .ToTable("Messages")
            .HasKey(m => m.Id);
            modelBuilder.Entity <Message>()
            .HasOne(m => m.Sender)
            .WithMany(u => u.SendMessages)
            .OnDelete(DeleteBehavior.NoAction)
            .HasForeignKey(m => m.SenderId);
            modelBuilder.Entity <Message>()
            .HasOne(m => m.Receiver)
            .WithMany(u => u.ReceivedMessages)
            .OnDelete(DeleteBehavior.NoAction)
            .HasForeignKey(m => m.ReceiverId);
            modelBuilder.Entity <Message>()
            .HasOne(m => m.Task)
            .WithMany(t => t.Messages)
            .HasForeignKey(m => m.TaskId);

            modelBuilder.Entity <Picture>()
            .ToTable("Pictures")
            .Ignore(p => p.Image);
            modelBuilder.Entity <Picture>()
            .HasOne(p => p.Task)
            .WithMany(t => t.Pictures)
            .HasForeignKey(p => p.TaskId);

            modelBuilder.Entity <AppTask>()
            .ToTable("Tasks")
            .HasOne(t => t.Project)
            .WithMany(p => p.Tasks)
            .HasForeignKey(t => t.ProjectId);


            UserSeeder.Seed(modelBuilder);
            IdentityRoleSeeder.Seed(modelBuilder);
            IdentityUserRoleSeeder.Seed(modelBuilder);
            ProjectSeeder.Seed(modelBuilder);
            TaskSeeder.Seed(modelBuilder);
            UserTaskSeeder.Seed(modelBuilder);
            MessageSeeder.Seed(modelBuilder);
            PictureSeeder.Seed(modelBuilder);
        }
예제 #2
0
 public static void Main(string[] args)
 {
     BuildWebHost(args)
     .MigrateDbContext <TaskDbContext>((context, services) =>
     {
         var db = services.GetService <TaskDbContext>();
         TaskSeeder.Seed(db);
     })
     .Run();
 }