TaskContext.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. using System;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.EntityFrameworkCore.Metadata;
  4. // Code scaffolded by EF Core assumes nullable reference types (NRTs) are not used or disabled.
  5. // If you have enabled NRTs for your project, then un-comment the following line:
  6. // #nullable disable
  7. namespace Task1
  8. {
  9. public partial class TaskContext : DbContext
  10. {
  11. public TaskContext()
  12. {
  13. }
  14. public TaskContext(DbContextOptions<TaskContext> options)
  15. : base(options)
  16. {
  17. }
  18. public virtual DbSet<StatusTask> StatusTask { get; set; }
  19. public virtual DbSet<Task> Task { get; set; }
  20. public virtual DbSet<User> User { get; set; }
  21. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  22. {
  23. if (!optionsBuilder.IsConfigured)
  24. {
  25. optionsBuilder.UseSqlServer("Data Source=(localdb)\\mssqllocaldb; Initial Catalog=Task;Trusted_Connection=True;");
  26. }
  27. }
  28. protected override void OnModelCreating(ModelBuilder modelBuilder)
  29. {
  30. modelBuilder.Entity<StatusTask>(entity =>
  31. {
  32. entity.Property(e => e.Id).ValueGeneratedNever();
  33. entity.Property(e => e.Name)
  34. .IsRequired()
  35. .HasMaxLength(50);
  36. });
  37. modelBuilder.Entity<Task>(entity =>
  38. {
  39. entity.Property(e => e.TaskId).ValueGeneratedNever();
  40. entity.Property(e => e.Date).HasColumnType("date");
  41. entity.Property(e => e.Description)
  42. .IsRequired()
  43. .HasMaxLength(50);
  44. entity.Property(e => e.Name)
  45. .IsRequired()
  46. .HasMaxLength(50);
  47. entity.HasOne(d => d.StatusTask)
  48. .WithMany(p => p.Task)
  49. .HasForeignKey(d => d.StatusTaskId)
  50. .OnDelete(DeleteBehavior.ClientSetNull)
  51. .HasConstraintName("FK_Task_StatusTask");
  52. entity.HasOne(d => d.UserAcceptedTask)
  53. .WithMany(p => p.TaskUserAcceptedTask)
  54. .HasForeignKey(d => d.UserAcceptedTaskId)
  55. .OnDelete(DeleteBehavior.ClientSetNull)
  56. .HasConstraintName("FK_Task_User2");
  57. entity.HasOne(d => d.UserCreatedTask)
  58. .WithMany(p => p.TaskUserCreatedTask)
  59. .HasForeignKey(d => d.UserCreatedTaskId)
  60. .OnDelete(DeleteBehavior.ClientSetNull)
  61. .HasConstraintName("FK_Task_User1");
  62. });
  63. modelBuilder.Entity<User>(entity =>
  64. {
  65. entity.Property(e => e.UserId).ValueGeneratedNever();
  66. entity.Property(e => e.Login)
  67. .IsRequired()
  68. .HasMaxLength(50);
  69. entity.Property(e => e.Name)
  70. .IsRequired()
  71. .HasMaxLength(50);
  72. entity.Property(e => e.Password)
  73. .IsRequired()
  74. .HasMaxLength(50);
  75. entity.Property(e => e.Patronimyc).HasMaxLength(50);
  76. entity.Property(e => e.Phone)
  77. .IsRequired()
  78. .HasMaxLength(12)
  79. .IsUnicode(false)
  80. .IsFixedLength();
  81. entity.Property(e => e.Surname)
  82. .IsRequired()
  83. .HasMaxLength(50);
  84. });
  85. OnModelCreatingPartial(modelBuilder);
  86. }
  87. partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
  88. }
  89. }