2

我有两张桌子。一个是Request,另一个是Response。每个请求都有一个对记录的可为的外键引用Response

每条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 不太喜欢外键,但这似乎很简单。

4

1 回答 1

2

如果有两个表,并且您想要对场景进行建模:

  • 每个请求都有可选的响应
  • 每个响应都有要求的请求

您正在建模单个关系,并且您只需要 FK 作为响应,因为在这种情况下请求是关系的主要实体。如果要建模两个独立的关系,则需要双方的 FK。

为了使这种关系简单地ResponseIdResponse实体中使用作为 FK 到RequestId实体中Request(EF 在主键上建立一对一的关系,因为它目前不支持唯一约束)。

于 2012-07-23T07:56:06.147 回答