我有两个表,Reports
和 Visualizations
。 Reports
有一个字段,VisualizationID
,它通过外键指向 Visualization
的同名字段。它还具有在该字段上声明的唯一键。 VisualizationID
不可为空。这意味着关系必须是 0..1 到 1,因为 每个 Reports
记录必须有一个唯一的、非空的 Visualizations
记录关联
Entity Framework 不这么看。我收到以下错误:
错误 113:多重性在关系“FK_Reports_Visualizations”中的角色“Report”中无效。因为Dependent Role属性不是关键属性,所以Dependent Role的重数上限必须是*。
这里有什么问题?我怎样才能让 EF 识别正确的关系多重性?
最佳答案
EF 提示是因为听起来您正在使用 FK 关联 - 这意味着 VisualizationID 是实体的一个属性并且也有一个可视化引用 - 而您不能使用 FK 关联来做到这一点。
但是,如果您使用独立关联 - 这意味着没有 VisualizationID 属性 - 您可以缩小基数。
因此解决方案是从实体中删除 VisualizationID 属性,此时您需要继续映射关联。
希望对你有帮助
亚历克斯
关于c# - Entity Framework 无法识别的唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141328/