将一个实体框架实体中的两个表与DefiningQuery结合使用

时间:2011-05-03 15:38:21

标签: entity-framework-4 entity

我很难将两个实体合并为一个实体,其中一个实体是一个只读数据的定义查询。

我有一个Person实体和一个公司实体,Person实体与Company实体相关,通过Company.CompanyID与Person.CompanyID一对多。公司的数据来自不同的数据库,因此它在我的SSDL中用键表示为DefiningQuery。我想通过组合实体来使Person实体中的字段成为Person实体的一部分。

  

错误3024:映射问题   从第445行开始的碎片:必须   指定所有键属性的映射   EntitySet的(Person.PersonID)   人

我认为问题是公司实体没有PersonID,但我不想让公司成为具有PersonID和CompanyID的DefiningQuery

1 个答案:

答案 0 :(得分:1)

您在一对多关系中拥有PersonCompany,因此您无法将PersonCompany字段映射到同一实体中。这种类型的映射称为实体拆分,它需要表之间的一对一关系,这些关系只能在共享主键上定义EF(因为EF不支持唯一约束)。