using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity.ModelConfiguration; namespace IntegrationTests.Models.Mapping { public class ExpenditureCategoryMap : EntityTypeConfiguration { 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); } } }