Advertisement
social1986

Untitled

Jul 11th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.29 KB | None | 0 0
  1. using Microsoft.EntityFrameworkCore;
  2.  
  3. namespace DatabaseFirst.Data
  4. {
  5.     using Models;
  6.  
  7.     public partial class SoftUniContext : DbContext
  8.     {
  9.         public SoftUniContext()
  10.         {
  11.         }
  12.  
  13.         public SoftUniContext(DbContextOptions<SoftUniContext> options)
  14.             : base(options)
  15.         {
  16.         }
  17.  
  18.         public virtual DbSet<Address> Addresses { get; set; }
  19.         public virtual DbSet<Department> Departments { get; set; }
  20.         public virtual DbSet<Employee> Employees { get; set; }
  21.         public virtual DbSet<EmployeeProject> EmployeesProjects { get; set; }
  22.         public virtual DbSet<Project> Projects { get; set; }
  23.         public virtual DbSet<Town> Towns { get; set; }
  24.  
  25.         protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  26.         {
  27.             if (!optionsBuilder.IsConfigured)
  28.             {
  29.                 optionsBuilder.UseSqlServer(Configuration.connectionString);
  30.             }
  31.         }
  32.  
  33.         protected override void OnModelCreating(ModelBuilder modelBuilder)
  34.         {
  35.             modelBuilder.Entity<Address>(entity =>
  36.             {
  37.                 entity.HasKey(e => e.AddressId);
  38.  
  39.                 entity.Property(e => e.AddressId).HasColumnName("AddressID");
  40.  
  41.                 entity.Property(e => e.AddressText)
  42.                     .IsRequired()
  43.                     .HasMaxLength(100)
  44.                     .IsUnicode(false);
  45.  
  46.                 entity.Property(e => e.TownId).HasColumnName("TownID");
  47.  
  48.                 entity.HasOne(d => d.Town)
  49.                     .WithMany(p => p.Addresses)
  50.                     .HasForeignKey(d => d.TownId)
  51.                     .HasConstraintName("FK_Addresses_Towns");
  52.             });
  53.  
  54.             modelBuilder.Entity<Department>(entity =>
  55.             {
  56.                 entity.HasKey(e => e.DepartmentId);
  57.  
  58.                 entity.Property(e => e.DepartmentId).HasColumnName("DepartmentID");
  59.  
  60.                 entity.Property(e => e.ManagerId).HasColumnName("ManagerID");
  61.  
  62.                 entity.Property(e => e.Name)
  63.                     .IsRequired()
  64.                     .HasMaxLength(50)
  65.                     .IsUnicode(false);
  66.  
  67.                 entity.HasOne(d => d.Manager)
  68.                     .WithMany(p => p.Departments)
  69.                     .HasForeignKey(d => d.ManagerId)
  70.                     .OnDelete(DeleteBehavior.ClientSetNull)
  71.                     .HasConstraintName("FK_Departments_Employees");
  72.             });
  73.  
  74.             modelBuilder.Entity<Employee>(entity =>
  75.             {
  76.                 entity.HasKey(e => e.EmployeeId);
  77.  
  78.                 entity.Property(e => e.EmployeeId).HasColumnName("EmployeeID");
  79.  
  80.                 entity.Property(e => e.AddressId).HasColumnName("AddressID");
  81.  
  82.                 entity.Property(e => e.DepartmentId).HasColumnName("DepartmentID");
  83.  
  84.                 entity.Property(e => e.FirstName)
  85.                     .IsRequired()
  86.                     .HasMaxLength(50)
  87.                     .IsUnicode(false);
  88.  
  89.                 entity.Property(e => e.HireDate).HasColumnType("smalldatetime");
  90.  
  91.                 entity.Property(e => e.JobTitle)
  92.                     .IsRequired()
  93.                     .HasMaxLength(50)
  94.                     .IsUnicode(false);
  95.  
  96.                 entity.Property(e => e.LastName)
  97.                     .IsRequired()
  98.                     .HasMaxLength(50)
  99.                     .IsUnicode(false);
  100.  
  101.                 entity.Property(e => e.ManagerId).HasColumnName("ManagerID");
  102.  
  103.                 entity.Property(e => e.MiddleName)
  104.                     .HasMaxLength(50)
  105.                     .IsUnicode(false);
  106.  
  107.                 entity.Property(e => e.Salary).HasColumnType("decimal(15, 4)");
  108.  
  109.                 entity.HasOne(d => d.Address)
  110.                     .WithMany(p => p.Employees)
  111.                     .HasForeignKey(d => d.AddressId)
  112.                     .HasConstraintName("FK_Employees_Addresses");
  113.  
  114.                 entity.HasOne(d => d.Department)
  115.                     .WithMany(p => p.Employees)
  116.                     .HasForeignKey(d => d.DepartmentId)
  117.                     .OnDelete(DeleteBehavior.ClientSetNull)
  118.                     .HasConstraintName("FK_Employees_Departments");
  119.  
  120.                 entity.HasOne(d => d.Manager)
  121.                     .WithMany(p => p.InverseManager)
  122.                     .HasForeignKey(d => d.ManagerId)
  123.                     .HasConstraintName("FK_Employees_Employees");
  124.             });
  125.  
  126.             modelBuilder.Entity<EmployeeProject>(entity =>
  127.             {
  128.                 entity.HasKey(e => new { e.EmployeeId, e.ProjectId });
  129.  
  130.                 entity.Property(e => e.EmployeeId).HasColumnName("EmployeeID");
  131.  
  132.                 entity.Property(e => e.ProjectId).HasColumnName("ProjectID");
  133.  
  134.                 entity.HasOne(d => d.Employee)
  135.                     .WithMany(p => p.EmployeesProjects)
  136.                     .HasForeignKey(d => d.EmployeeId)
  137.                     .OnDelete(DeleteBehavior.ClientSetNull)
  138.                     .HasConstraintName("FK_EmployeesProjects_Employees");
  139.  
  140.                 entity.HasOne(d => d.Project)
  141.                     .WithMany(p => p.EmployeesProjects)
  142.                     .HasForeignKey(d => d.ProjectId)
  143.                     .OnDelete(DeleteBehavior.ClientSetNull)
  144.                     .HasConstraintName("FK_EmployeesProjects_Projects");
  145.             });
  146.  
  147.             modelBuilder.Entity<Project>(entity =>
  148.             {
  149.                 entity.HasKey(e => e.ProjectId);
  150.  
  151.                 entity.Property(e => e.ProjectId).HasColumnName("ProjectID");
  152.  
  153.                 entity.Property(e => e.Description).HasColumnType("ntext");
  154.  
  155.                 entity.Property(e => e.EndDate).HasColumnType("smalldatetime");
  156.  
  157.                 entity.Property(e => e.Name)
  158.                     .IsRequired()
  159.                     .HasMaxLength(50)
  160.                     .IsUnicode(false);
  161.  
  162.                 entity.Property(e => e.StartDate).HasColumnType("smalldatetime");
  163.             });
  164.  
  165.             modelBuilder.Entity<Town>(entity =>
  166.             {
  167.                 entity.HasKey(e => e.TownId);
  168.  
  169.                 entity.Property(e => e.TownId).HasColumnName("TownID");
  170.  
  171.                 entity.Property(e => e.Name)
  172.                     .IsRequired()
  173.                     .HasMaxLength(50)
  174.                     .IsUnicode(false);
  175.             });
  176.         }
  177.     }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement