小编典典

实体框架无法识别的唯一密钥

sql

我有两个表,ReportsVisualizationsReports有一个字段,VisualizationIDVisualization通过外键指向具有相同名称的字段。它还具有在该字段上声明的唯一密钥。VisualizationID不可为空。这意味着关系必须为0..1到1,因为每个 Reports记录都必须具有唯一的而不是空的Visualizations记录。

实体框架不这样看。我收到以下错误:

Error 113: Multiplicity is not valid in Role 'Report' in relationship 'FK_Reports_Visualizations'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *.

这是什么问题 如何使EF识别适当的关系多重性?


阅读 197

收藏
2021-03-23

共1个答案

小编典典

EF抱怨是因为听起来您正在使用FK关联-这意味着VisualizationID是Entity的属性,并且也存在Visualization引用-
并且您不能使用FK关联来做到这一点。

但是,如果您使用独立关联(这意味着没有VisualizationID属性),则 可以 缩小基数。

因此,解决方案是从Entity中删除VisualizationID属性,此时您需要进行关联的映射。

希望这可以帮助

亚历克斯

2021-03-23