44 lines
1.6 KiB
C#
44 lines
1.6 KiB
C#
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Data.Entity.ModelConfiguration;
|
|
|
|
namespace IntegrationTests.Models.Mapping
|
|
{
|
|
public class PeopleResourceMap : EntityTypeConfiguration<PeopleResource>
|
|
{
|
|
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);
|
|
|
|
}
|
|
}
|
|
}
|