using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; // Code scaffolded by EF Core assumes nullable reference types (NRTs) are not used or disabled. // If you have enabled NRTs for your project, then un-comment the following line: // #nullable disable namespace Task1 { public partial class TaskContext : DbContext { public TaskContext() { Database.EnsureCreated(); } public TaskContext(DbContextOptions options) : base(options) { } public virtual DbSet StatusTasks { get; set; } public virtual DbSet Tasks { get; set; } public virtual DbSet Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseSqlServer("Data Source=(localdb)\\mssqllocaldb; Initial Catalog=Task;Trusted_Connection=True;"); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => e.Id); entity.Property(e => e.Name) .IsRequired() .HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.TaskId); entity.Property(e => e.Date).HasColumnType("date"); entity.Property(e => e.Description) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Name) .IsRequired() .HasMaxLength(50); entity.HasOne(d => d.StatusTask1) .WithMany(p => p.Task) .HasForeignKey(d => d.StatusTaskId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_Task_StatusTask"); entity.HasOne(d => d.UserAcceptedTask) .WithMany(p => p.TaskUserAcceptedTask) .HasForeignKey(d => d.UserAcceptedTaskId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_Task_User2"); entity.HasOne(d => d.UserCreatedTask) .WithMany(p => p.TaskUserCreatedTask) .HasForeignKey(d => d.UserCreatedTaskId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_Task_User1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.UserId); entity.Property(e => e.Login) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Name) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Password) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Patronimyc).HasMaxLength(50); entity.Property(e => e.Phone) .IsRequired() .HasMaxLength(12) .IsUnicode(false) .IsFixedLength(); entity.Property(e => e.Surname) .IsRequired() .HasMaxLength(50); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); } }