我有一个包含两个表的现有数据库:MemData 和 MemPhone。
MemData 具有以下结构
uidMemberId (PK, uniqueidentifier not null)
strFirstName (varchar(50), null)
strLastName (varchar(50), null)
MemPhone 具有以下结构
uidMemberId (uniqueidentifier not null)
strPhoneNumber (varchar(50), null)
MemberPhoneNumber 表上没有 PK。这两个表通过 uidMemberId 连接,但数据库中没有设置外键。
我的 MemData 模型如下所示:
[Table("MemData")]
public class Member
{
[Key]
public Guid MemberId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual IList<MemberPhoneNumber> MemberPhoneNumbers { get; set; }
}
配置图如下所示:
public MemberMap()
{
Property(t => t.MemberId).HasColumnName("uidMemberID");
Property(t => t.FirstName).HasColumnName("strFirstName");
Property(t => t.LastName).HasColumnName("strLastName");
HasMany(x => x.MemberPhoneNumbers);
}
我的 MemPhone 模型如下所示:
[Table("MemPhone")]
public class MemberPhoneNumber
{
[Key]
public Guid MemberId { get; set; }
public string PhoneNumber { get; set; }
public virtual Member Member { get; set; }
}
配置图如下所示:
public MemberPhoneNumberMap()
{
Property(t => t.MemberId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
Property(t => t.MemberId).HasColumnName("uidMemberID");
Property(t => t.PhoneNumber).HasColumnName("strPhone");
}
在我的 MVC 应用程序中,当我调用
Uow.Members.GetAll().Include(p => p.MemberPhoneNumbers).ToList()
我收到以下错误
Invalid column name 'Member_MemberId'.
它应该寻找 MemData_uidMemberId 但我无法弄清楚我在配置中错过了什么。
谢谢