HelpContext.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using System;
  2. using System.Collections.Generic;
  3. using Microsoft.EntityFrameworkCore;
  4. using Microsoft.EntityFrameworkCore.Metadata;
  5. namespace WpfApp4
  6. {
  7. public partial class HelpContext : DbContext
  8. {
  9. public HelpContext()
  10. {
  11. }
  12. public HelpContext(DbContextOptions<HelpContext> options)
  13. : base(options)
  14. {
  15. }
  16. public virtual DbSet<StatusTask> StatusTasks { get; set; } = null!;
  17. public virtual DbSet<Task> Tasks { get; set; } = null!;
  18. public virtual DbSet<User> Users { get; set; } = null!;
  19. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  20. {
  21. if (!optionsBuilder.IsConfigured)
  22. {
  23. optionsBuilder.UseLazyLoadingProxies();//Ленивая подгрузка навигационных свойств
  24. optionsBuilder.UseSqlServer("Data Source=(LocalDb)\\MSSQLLocalDB; Initial Catalog=Help;Trusted_Connection=True;");
  25. }
  26. }
  27. protected override void OnModelCreating(ModelBuilder modelBuilder)
  28. {
  29. modelBuilder.Entity<StatusTask>(entity =>
  30. {
  31. entity.HasKey(e => e.IdstatusTask);
  32. entity.ToTable("StatusTask");
  33. entity.Property(e => e.IdstatusTask).HasColumnName("IDStatusTask");
  34. entity.Property(e => e.Name).HasMaxLength(50);
  35. });
  36. modelBuilder.Entity<Task>(entity =>
  37. {
  38. entity.HasKey(e => e.Idtask);
  39. entity.ToTable("Task");
  40. entity.Property(e => e.Idtask)
  41. .ValueGeneratedNever()
  42. .HasColumnName("IDTask");
  43. entity.Property(e => e.DatePuplic).HasColumnType("date");
  44. entity.Property(e => e.IdstatusTask).HasColumnName("IDStatusTask");
  45. entity.Property(e => e.IduserAccept).HasColumnName("IDUserAccept");
  46. entity.Property(e => e.IduserCreated).HasColumnName("IDUserCreated");
  47. entity.Property(e => e.Title).HasMaxLength(50);
  48. entity.HasOne(d => d.IdstatusTaskNavigation)
  49. .WithMany(p => p.Tasks)
  50. .HasForeignKey(d => d.IdstatusTask)
  51. .OnDelete(DeleteBehavior.ClientSetNull)
  52. .HasConstraintName("FK_Task_StatusTask");
  53. entity.HasOne(d => d.IduserAcceptNavigation)
  54. .WithMany(p => p.TaskIduserAcceptNavigations)
  55. .HasForeignKey(d => d.IduserAccept)
  56. .OnDelete(DeleteBehavior.ClientSetNull)
  57. .HasConstraintName("FK_Task_User");
  58. entity.HasOne(d => d.IduserCreatedNavigation)
  59. .WithMany(p => p.TaskIduserCreatedNavigations)
  60. .HasForeignKey(d => d.IduserCreated)
  61. .OnDelete(DeleteBehavior.ClientSetNull)
  62. .HasConstraintName("FK_Task_User1");
  63. });
  64. modelBuilder.Entity<User>(entity =>
  65. {
  66. entity.HasKey(e => e.Iduser);
  67. entity.ToTable("User");
  68. entity.Property(e => e.Iduser)
  69. .ValueGeneratedNever()
  70. .HasColumnName("IDUser");
  71. entity.Property(e => e.LastName).HasMaxLength(50);
  72. entity.Property(e => e.Name).HasMaxLength(50);
  73. entity.Property(e => e.Surname).HasMaxLength(50);
  74. });
  75. OnModelCreatingPartial(modelBuilder);
  76. }
  77. partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
  78. }
  79. }