MainContext.cs 1.3 KB

1234567891011121314151617181920212223242526272829
  1. using Microsoft.EntityFrameworkCore;
  2. using WpfApp29.Models;
  3. namespace WpfApp29
  4. {
  5. internal class MainContext : DbContext
  6. {
  7. public MainContext() : base()
  8. {
  9. //Database.EnsureDeleted();
  10. Database.EnsureCreated();
  11. }
  12. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  13. {
  14. optionsBuilder.UseLazyLoadingProxies();
  15. optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=WpfApp29;Trusted_Connection=True;");
  16. }
  17. protected override void OnModelCreating(ModelBuilder modelBuilder)
  18. {
  19. modelBuilder.Entity<Models.Task>().HasOne(x => x.UserCreator).WithMany(t => t.TaskCreators).HasForeignKey(x => x.UserCreatorId).OnDelete(DeleteBehavior.Restrict);
  20. modelBuilder.Entity<Models.Task>().HasOne(x => x.UserDoer).WithMany(t => t.TaskDoers).HasForeignKey(x => x.UserDoerId).OnDelete(DeleteBehavior.Restrict);
  21. modelBuilder.Entity<Models.Task>().HasOne(x => x.Status).WithMany(t => t.Tasks).HasForeignKey(x => x.StatusId).OnDelete(DeleteBehavior.Restrict);
  22. }
  23. public DbSet<User> Users { get; set; }
  24. public DbSet<Models.Task> Tasks { get; set; }
  25. public DbSet<StatusTask> StatusTasks { get; set; }
  26. }
  27. }