首页 文章

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

提问于
浏览
6

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

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中映射它时遇到了麻烦 . 看起来它不喜欢我使用不映射到主键的外键 . 我使用外键到Unique Constraint / Index而不是Primary Key .

如何使用C#在Entity Framework中正确映射?

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

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

1 回答

  • 5

    当前版本的EF不支持唯一索引,也不能基于非主要唯一键映射关系 .

相关问题