EmployeeMapping.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using GreenTree.Strohrmann.ERP.Core.Domain.Business;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.EntityFrameworkCore.Metadata.Builders;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. namespace GreenTree.Strohrmann.ERP.Domain.Model.Business
  8. {
  9. public class EmployeeMapping : IEntityTypeConfiguration<Employee>
  10. {
  11. public void Configure(EntityTypeBuilder<Employee> builder)
  12. {
  13. builder.ToTable("Employees");
  14. builder.HasKey(u => u.Id);
  15. builder.Property(u => u.Id)
  16. .ValueGeneratedOnAdd();
  17. builder.Property(u => u.Firstname)
  18. .IsRequired();
  19. builder.Property(u => u.Lastname)
  20. .IsRequired();
  21. builder.Property(u => u.MailAddress)
  22. .IsRequired(false);
  23. builder.Property(u => u.Birthdate)
  24. .IsRequired(false);
  25. builder.HasOne(u => u.EmployeeDegree)
  26. .WithMany(d => d.Employees)
  27. .IsRequired()
  28. .OnDelete(DeleteBehavior.Restrict);
  29. }
  30. }
  31. }