我很难将两个实体合并为一个实体,其中一个实体是一个只读数据的定义查询。
我有一个Person实体和一个公司实体,Person实体与Company实体相关,通过Company.CompanyID与Person.CompanyID一对多。公司的数据来自不同的数据库,因此它在我的SSDL中用键表示为DefiningQuery。我想通过组合实体来使Person实体中的字段成为Person实体的一部分。
错误3024:映射问题 从第445行开始的碎片:必须 指定所有键属性的映射 EntitySet的(Person.PersonID) 人
我认为问题是公司实体没有PersonID,但我不想让公司成为具有PersonID和CompanyID的DefiningQuery
答案 0 :(得分:1)
您在一对多关系中拥有Person
和Company
,因此您无法将Person
和Company
字段映射到同一实体中。这种类型的映射称为实体拆分,它需要表之间的一对一关系,这些关系只能在共享主键上定义EF(因为EF不支持唯一约束)。