[英]Mapping One to Many on non-primary key
我正在为遗留数据库(简化)做代码优先实体模型:
CREATE TABLE Person
(
PersonID INT PRIMARY KEY NONCLUSTERED IDENTITY(1,1),
Name NVARCHAR(255),
PersonSystemID NVARCHAR(50) NOT NULL UNIQUE
);
CREATE TABLE Address
(
AddressID INT PRIMARY KEY NONCLUSTERED IDENTITY(1,1),
PropertyDetails NVARCHAR(255),
PersonSystemID NVARCHAR(50),
FOREIGN KEY (PersonSystemID) REFERENCES Person(PersonSystemID)
)
唯一有趣的细节是Address
表引用的是PersonSystemID
而不是PersonID
,后者是Person
表的真实PK。
我想叫物业Addresses
在Person
类和属性Person
的Address
类。 有什么办法映射吗? (欢迎软糖和/或杂物)。
请注意,这是一个只读数据库-因此,我不需要处理INSERTS / UPDATES / DELETES。
目前尚无法使用,但将来的版本中可能会提供。
我们正在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 };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.