2012-07-23 40 views
2

我有两个表。一个是Request,另一个是Response。每个请求都有一个可空的外键引用一个Response记录。实体框架是否支持引用0..1个孩子的父母指向1父母的孩子?

每个Response记录都有一个不可为空外键引用它来自的Request条目。

我正在尝试为该模型生成实体,并且验证失败:Multiplicity is not valid in role Response [...]. Because the dependent role properties are not the key properties, the upper bound of the multiplicity of the dependent role must be *

失败的映射:

请求 - [0..1] - >响应

响应 - [1] - >请求

为什么不这项工作?我知道EF不太喜欢外键,但这看起来很简单。

回答

2

如果有两个表,并要建模场景:

  • 每个请求都有每个响应已要求请求

你模拟单一关系,你只需要可选响应

  • FK作为回应,因为在这种情况下请求是关系的主要实体。如果你想建立两个独立的关系模型,双方都需要FK。

    为了使这种关系只是在Request实体使用ResponseIdResponse实体FK到0​​(EF使主键一个一对一的关系,因为它不支持目前唯一约束)。

  • +0

    似乎我只是在想它。这很明显,并解决了这个问题。谢谢 :) – 2012-07-23 17:47:40