using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity.ModelConfiguration; namespace IntegrationTests.Models.Mapping { public class PeopleResourceMap : EntityTypeConfiguration { public PeopleResourceMap() { // Primary Key this.HasKey(t => t.Id); // Properties this.Property(t => t.FirstName) .IsRequired() .HasMaxLength(250); this.Property(t => t.LastName) .IsRequired() .HasMaxLength(250); // Table & Column Mappings this.ToTable("PeopleResource"); this.Property(t => t.Id).HasColumnName("Id"); this.Property(t => t.FirstName).HasColumnName("FirstName"); this.Property(t => t.LastName).HasColumnName("LastName"); this.Property(t => t.IsActiveEmployee).HasColumnName("IsActiveEmployee"); this.Property(t => t.TeamId).HasColumnName("TeamId"); this.Property(t => t.ExpenditureCategoryId).HasColumnName("ExpenditureCategoryId"); this.Property(t => t.StartDate).HasColumnName("StartDate"); this.Property(t => t.EndDate).HasColumnName("EndDate"); // Relationships this.HasRequired(t => t.ExpenditureCategory) .WithMany(t => t.PeopleResources) .HasForeignKey(d => d.ExpenditureCategoryId); this.HasOptional(t => t.Team) .WithMany(t => t.PeopleResources) .HasForeignKey(d => d.TeamId); } } }