我有两张桌子。一个是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不太喜欢外键,但这看起来很简单。
答案 0 :(得分:2)
如果有两个表,并且您想要建模场景:
您正在建模单一关系,您只需要FK作为响应,因为在这种情况下请求是关系的主要实体。如果你想模拟两个独立的关系,那么双方都需要FK。
要建立此关系,只需使用ResponseId
实体中的Response
作为RequestId
Request
实体中的{{1}}(EF在主键上建立一对一的关系,因为它目前不支持唯一约束。)