50 lines
2.0 KiB
C#
50 lines
2.0 KiB
C#
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Data.Entity.ModelConfiguration;
|
|
|
|
namespace IntegrationTests.Models.Mapping
|
|
{
|
|
public class ExpenditureCategoryMap : EntityTypeConfiguration<ExpenditureCategory>
|
|
{
|
|
public ExpenditureCategoryMap()
|
|
{
|
|
// Primary Key
|
|
this.HasKey(t => t.Id);
|
|
|
|
// Properties
|
|
this.Property(t => t.CGEFX)
|
|
.IsFixedLength()
|
|
.HasMaxLength(10);
|
|
|
|
// Table & Column Mappings
|
|
this.ToTable("ExpenditureCategory");
|
|
this.Property(t => t.Id).HasColumnName("Id");
|
|
this.Property(t => t.ExpenditureId).HasColumnName("ExpenditureId");
|
|
this.Property(t => t.GLId).HasColumnName("GLId");
|
|
this.Property(t => t.UOMId).HasColumnName("UOMId");
|
|
this.Property(t => t.CreditId).HasColumnName("CreditId");
|
|
this.Property(t => t.Type).HasColumnName("Type");
|
|
this.Property(t => t.UseType).HasColumnName("UseType");
|
|
this.Property(t => t.CGEFX).HasColumnName("CGEFX");
|
|
this.Property(t => t.SortOrder).HasColumnName("SortOrder");
|
|
this.Property(t => t.WksSubjectToFee).HasColumnName("WksSubjectToFee");
|
|
this.Property(t => t.SystemAttributeOne).HasColumnName("SystemAttributeOne");
|
|
this.Property(t => t.SystemAttributeTwo).HasColumnName("SystemAttributeTwo");
|
|
|
|
// Relationships
|
|
this.HasRequired(t => t.CreditDepartment)
|
|
.WithMany(t => t.ExpenditureCategories)
|
|
.HasForeignKey(d => d.CreditId);
|
|
this.HasRequired(t => t.Expenditure)
|
|
.WithMany(t => t.ExpenditureCategories)
|
|
.HasForeignKey(d => d.ExpenditureId);
|
|
this.HasRequired(t => t.GLAccount)
|
|
.WithMany(t => t.ExpenditureCategories)
|
|
.HasForeignKey(d => d.GLId);
|
|
this.HasRequired(t => t.UOM)
|
|
.WithMany(t => t.ExpenditureCategories)
|
|
.HasForeignKey(d => d.UOMId);
|
|
|
|
}
|
|
}
|
|
}
|