C# 在非主键上映射一到多

C# 在非主键上映射一到多,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我正在为遗留数据库(简化)创建代码优先实体模型: 唯一有趣的细节是Address表引用的是PersonSystemID,而不是PersonID,后者是Person表的真正主键 我希望在Person类中有一个名为Addresses的属性,在Address类中有一个名为Person的属性。有什么方法可以映射这个吗?(欢迎使用软糖和/或棍棒) 请注意,这是一个只读数据库-因此我不需要处理插入/更新/删除。目前您不能,但它可能会在将来的版本中提供 我们正在EF7中开发独特的约束支持 目前的解决方法是删

我正在为遗留数据库(简化)创建代码优先实体模型:

唯一有趣的细节是
Address
表引用的是
PersonSystemID
,而不是
PersonID
,后者是
Person
表的真正主键

我希望在
Person
类中有一个名为
Addresses
的属性,在
Address
类中有一个名为
Person
的属性。有什么方法可以映射这个吗?(欢迎使用软糖和/或棍棒)


请注意,这是一个只读数据库-因此我不需要处理插入/更新/删除。

目前您不能,但它可能会在将来的版本中提供

我们正在EF7中开发独特的约束支持

目前的解决方法是删除这些导航属性并手动加入实体

var result = from p in db.Person
             join a in db.Address
             on p.PersonSystemID equals a.PersonSystemID
             select new { Person = p, Address = a };
var result = from p in db.Person
             join a in db.Address
             on p.PersonSystemID equals a.PersonSystemID
             select new { Person = p, Address = a };