实体框架代码优先 - 非主键字段的外键

时间:2011-09-20 16:09:04

标签: c# entity-framework-4.1 ef-code-first fluent-interface

我有两个看起来像这样的表:

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在Entity Framework中映射时遇到问题。 看起来它不喜欢我使用不映射到主键的外键。我正在使用唯一约束/索引的外键而不是主键。

如何使用C#在实体框架中正确映射?

我应该注意到我现在这样做的方式是给我这个错误:

  

System.Data.Edm.EdmAssociationConstraint ::参照约束的从属角色中的所有属性的类型必须与主体角色中的相应属性类型相同。实体Review'上的属性'ReviewTypeCode'的类型与引用约束'ReviewType_Reviews'中实体'ReviewType'上的属性'Id'的类型不匹配。

1 个答案:

答案 0 :(得分:5)

当前版本的EF不支持唯一索引,也无法根据非主要唯一键映射关系。