Entity Framework Code First - Foreign Key to non primary key field

У меня есть две таблицы, которые выглядят следующим образом:

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
   ...

У Review всегда есть тип ReviewType.
ReviewType можно ассоциировать с множеством отзывов.

У меня проблемы с отображением этого в Entity Framework, используя Code First Fluent API. Кажется, что мне не нравится использовать иностранный ключ, который не привязывается к Primary Key. Я использую иностранный ключ к Уникальному ограничению/индексу вместо Первичного ключа.

Как я могу правильно отобразить это в Entity Framework, используя C#?

Я должен заметить, что то, как я это делаю сейчас, дает мне эту ошибку:

System.Data.Edm.EdmAssociationConstraint: : Типы всех свойств в Зависимой роли референтного ограничения должны совпадать с соответствующими типами свойств в Основной роли. Тип свойства 'ReviewTypeCode' на объекте Review' не совпадает с типом свойства 'Id' на объекте 'ReviewType' в референтном ограничении 'ReviewType_Reviews'.

6
задан Heretic Monkey 20 June 2016 в 14:34
поделиться