【发布时间】:2016-06-20 22:34:20
【问题描述】:
我有两个如下所示的表:
dbo.ReviewType
ReviewTypeId INT PRIMARY KEY
ShortName CHAR(1) - Unique Index
Description
dbo.Review
ReviewId INT PRIMARY KEY
ReviewType_ShortName CHAR(1) - FK to ReviewType
...
评论总是有一个 ReviewType。
一个 ReviewType 可以与许多评论相关联。
我无法使用 Code First Fluent API 在实体框架中映射它。 似乎它不喜欢我使用不映射到主键的外键。我使用的是唯一约束/索引的外键,而不是主键。
如何使用 C# 在实体框架中正确映射它?
我应该注意到我现在的做法是给我这个错误:
System.Data.Edm.EdmAssociationConstraint: : 引用约束的Dependent Role中所有属性的类型必须与Principal Role中对应的属性类型相同。实体 Review 上的属性类型“ReviewTypeCode”与引用约束“ReviewType_Reviews”中实体“ReviewType”上的属性类型“Id”不匹配。
【问题讨论】:
-
您为什么会选择这种方法?为 ReviewTypeId 添加一个 FK 而不是 ShortName 将解决您的问题。
-
因为它超出了我的控制范围。我意识到这可能不是最好的解决方案,但我没有设计数据库。我正在尝试使用 Fluent API 的现有模式映射模型。
标签: c# entity-framework-4.1 ef-code-first fluent-interface