c# - Entity Framework 无法识别的唯一键

标签 c# .net sql entity-framework entity-framework-4

我有两个表,ReportsVisualizationsReports 有一个字段,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/

相关文章:

.net - 语言框架和win7

mysql - 如何在 MySQL 中连接链接到一个表的三个表?

java - 一个函数中可以有两个数据库连接吗?

c# - 使用 Ninject 的 WCF 服务问题(从 Windsor 移动)(InvalidOperationException)

c# - 在单元测试中出现 OutOfMemoryException

.net - 为什么在设计器中为控件的属性指定数值会导致代码中出现 new Decimal(new int[] {... ?

c# - .NET 自定义控制台

c# - 从网址中删除 %20

c# - Xamarin Android 支持 v7 错误

java - 使用准备好的语句的变量列名