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); }
public static void Main(string[] args) { BuildWebHost(args) .MigrateDbContext <TaskDbContext>((context, services) => { var db = services.GetService <TaskDbContext>(); TaskSeeder.Seed(db); }) .Run(); }