【发布时间】:2011-09-29 14:21:24
【问题描述】:
我正在针对现有数据库进行开发,在将我的抽象类作为 TPT 映射到我的表时遇到问题。这引发了一个错误,提示“无效的列名“ID””。
简单类如下
public abstract class Member
{
[DisplayName("ID")]
public string ID { get; set; }
[DisplayName("Date Applied")]
public System.DateTime? DateApplied { get; set; }
[DisplayName("Date Membered")]
public System.DateTime? DateMembered { get; set; }
[DisplayName("Member Type")]
public int MemberTypeFlag { get; set; }
}
public class Person : Member
{
[DisplayName("Last Name")]
public string LastName { get; set; }
[DisplayName("First Name")]
public string FirstName { get; set; }
[DisplayName("Date Of Birth")]
public System.DateTime DateOfBirth { get; set; }
}
并映射到我的自定义表格如下
public class MapMember : EntityTypeConfiguration<Member>
{
public MapMember()
: base()
{
HasKey(b => b.ID).Property(b => b.ID).HasColumnName("ID");
Property(b => b.DateApplied).HasColumnName("DTM_APPLIED");
Property(b => b.DateMembered).HasColumnName("DTM_MEMBERED");
Property(b => b.MemberTypeFlag).HasColumnName("MBR_TYPE_FLG");
ToTable("MBR");
}
}
public class MapPerson : EntityTypeConfiguration<Person>
{
public MapPerson()
: base()
{
Property(p => p.LastName).HasColumnName("LNAME");
Property(p => p.FirstName).HasColumnName("FNAME");
Property(p => p.DateOfBirth).HasColumnName("DOB");
Property(p => p.FirstName).HasColumnName("FNAME");
ToTable("MBR_PERSON");
}
}
但是,在 db.savechanges() 上引发了无效的列名“ID”。
请指教。
谢谢
【问题讨论】:
标签: asp.net-mvc-3 entity-framework-4 ef-code-first