Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.EntityFrameworkCore;
- namespace DatabaseFirst.Data
- {
- using Models;
- public partial class SoftUniContext : DbContext
- {
- public SoftUniContext()
- {
- }
- public SoftUniContext(DbContextOptions<SoftUniContext> options)
- : base(options)
- {
- }
- public virtual DbSet<Address> Addresses { get; set; }
- public virtual DbSet<Department> Departments { get; set; }
- public virtual DbSet<Employee> Employees { get; set; }
- public virtual DbSet<EmployeeProject> EmployeesProjects { get; set; }
- public virtual DbSet<Project> Projects { get; set; }
- public virtual DbSet<Town> Towns { get; set; }
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- if (!optionsBuilder.IsConfigured)
- {
- optionsBuilder.UseSqlServer(Configuration.connectionString);
- }
- }
- protected override void OnModelCreating(ModelBuilder modelBuilder)
- {
- modelBuilder.Entity<Address>(entity =>
- {
- entity.HasKey(e => e.AddressId);
- entity.Property(e => e.AddressId).HasColumnName("AddressID");
- entity.Property(e => e.AddressText)
- .IsRequired()
- .HasMaxLength(100)
- .IsUnicode(false);
- entity.Property(e => e.TownId).HasColumnName("TownID");
- entity.HasOne(d => d.Town)
- .WithMany(p => p.Addresses)
- .HasForeignKey(d => d.TownId)
- .HasConstraintName("FK_Addresses_Towns");
- });
- modelBuilder.Entity<Department>(entity =>
- {
- entity.HasKey(e => e.DepartmentId);
- entity.Property(e => e.DepartmentId).HasColumnName("DepartmentID");
- entity.Property(e => e.ManagerId).HasColumnName("ManagerID");
- entity.Property(e => e.Name)
- .IsRequired()
- .HasMaxLength(50)
- .IsUnicode(false);
- entity.HasOne(d => d.Manager)
- .WithMany(p => p.Departments)
- .HasForeignKey(d => d.ManagerId)
- .OnDelete(DeleteBehavior.ClientSetNull)
- .HasConstraintName("FK_Departments_Employees");
- });
- modelBuilder.Entity<Employee>(entity =>
- {
- entity.HasKey(e => e.EmployeeId);
- entity.Property(e => e.EmployeeId).HasColumnName("EmployeeID");
- entity.Property(e => e.AddressId).HasColumnName("AddressID");
- entity.Property(e => e.DepartmentId).HasColumnName("DepartmentID");
- entity.Property(e => e.FirstName)
- .IsRequired()
- .HasMaxLength(50)
- .IsUnicode(false);
- entity.Property(e => e.HireDate).HasColumnType("smalldatetime");
- entity.Property(e => e.JobTitle)
- .IsRequired()
- .HasMaxLength(50)
- .IsUnicode(false);
- entity.Property(e => e.LastName)
- .IsRequired()
- .HasMaxLength(50)
- .IsUnicode(false);
- entity.Property(e => e.ManagerId).HasColumnName("ManagerID");
- entity.Property(e => e.MiddleName)
- .HasMaxLength(50)
- .IsUnicode(false);
- entity.Property(e => e.Salary).HasColumnType("decimal(15, 4)");
- entity.HasOne(d => d.Address)
- .WithMany(p => p.Employees)
- .HasForeignKey(d => d.AddressId)
- .HasConstraintName("FK_Employees_Addresses");
- entity.HasOne(d => d.Department)
- .WithMany(p => p.Employees)
- .HasForeignKey(d => d.DepartmentId)
- .OnDelete(DeleteBehavior.ClientSetNull)
- .HasConstraintName("FK_Employees_Departments");
- entity.HasOne(d => d.Manager)
- .WithMany(p => p.InverseManager)
- .HasForeignKey(d => d.ManagerId)
- .HasConstraintName("FK_Employees_Employees");
- });
- modelBuilder.Entity<EmployeeProject>(entity =>
- {
- entity.HasKey(e => new { e.EmployeeId, e.ProjectId });
- entity.Property(e => e.EmployeeId).HasColumnName("EmployeeID");
- entity.Property(e => e.ProjectId).HasColumnName("ProjectID");
- entity.HasOne(d => d.Employee)
- .WithMany(p => p.EmployeesProjects)
- .HasForeignKey(d => d.EmployeeId)
- .OnDelete(DeleteBehavior.ClientSetNull)
- .HasConstraintName("FK_EmployeesProjects_Employees");
- entity.HasOne(d => d.Project)
- .WithMany(p => p.EmployeesProjects)
- .HasForeignKey(d => d.ProjectId)
- .OnDelete(DeleteBehavior.ClientSetNull)
- .HasConstraintName("FK_EmployeesProjects_Projects");
- });
- modelBuilder.Entity<Project>(entity =>
- {
- entity.HasKey(e => e.ProjectId);
- entity.Property(e => e.ProjectId).HasColumnName("ProjectID");
- entity.Property(e => e.Description).HasColumnType("ntext");
- entity.Property(e => e.EndDate).HasColumnType("smalldatetime");
- entity.Property(e => e.Name)
- .IsRequired()
- .HasMaxLength(50)
- .IsUnicode(false);
- entity.Property(e => e.StartDate).HasColumnType("smalldatetime");
- });
- modelBuilder.Entity<Town>(entity =>
- {
- entity.HasKey(e => e.TownId);
- entity.Property(e => e.TownId).HasColumnName("TownID");
- entity.Property(e => e.Name)
- .IsRequired()
- .HasMaxLength(50)
- .IsUnicode(false);
- });
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement