Ошибка при попытке изменить кратность отношения в EF4 - PullRequest
0 голосов
/ 16 октября 2010

Я пытаюсь создать сравнительно простой обзор игрового сайта. Между играми и обзорами должна быть связь 1: 1 (каждый обзор относится к одной игре, и для игры будет только один обзор). Мои таблицы довольно просты. Соответствующие части:

Таблица отзывов:
ReviewID - int, первичный ключ
Текст - текст
GameID - int, внешний ключ из таблицы игр

Игровой стол:
GameID - int, первичный ключ
GameTitle - nvarchar (50)

EF4 продолжает отображать его как отношение 1-ко-многим, учитывая наличие внешнего ключа в Обзорах. Когда я пытаюсь изменить его на 1-к-1 вручную, я получаю следующую ошибку:

Ошибка 1 Ошибка 113: множественность недопустима в роли «Отзывы» в отношении «FK_Reviews_Games». Поскольку свойства зависимой роли не являются ключевыми свойствами, верхняя граница кратности зависимой роли должна быть *.

Я не уверен, что пытается сказать ошибка, поскольку внешний ключ GameID в таблице отзывов является первичным ключом таблицы игр. Есть идеи?

1 Ответ

1 голос
/ 16 октября 2010

I'm not sure what the error is trying to say as the foreign key GameID in the Reviews table is the primary key of the Games table.

Конечно, поскольку он является НЕ первичным ключом таблицы обзора и для того, чтобы EF связал 1: 1 между объектами игры и обзора, ондолжно быть.
Итак, в основном вам нужно избавиться от таблицы ReviewID в таблице Review и сделать GameID основным ключом таблицы Review, а затем EF с радостью создаст для вас 1: 1.

...