Подтвердить что ты не робот

Проблемы с картой One-To-One от Entity Framework

Использование VS 2010 beta 2, ASP.NET MVC.

Я попытался создать файл фреймворка Entity и получил данные из моей базы данных.

Были некоторые проблемы с отношениями, поэтому я начал настраивать все вокруг, но я продолжал получать следующую ошибку для простых отношений один к одному

Ошибка 1 Ошибка 113: множественность недействительна в роли "UserProfile" в отношении "FK_UserProfiles_Users". Поскольку свойства зависимой роли не являются ключевыми свойствами, верхняя граница множественности зависимой роли должна быть *. myEntities.edmx 2024

Таблица My Users состоит из некоторых других отношений "многие-ко-многим" с другими таблицами, но когда я пытаюсь установить отношения "один-к-одному" с другими таблицами, эта ошибка появляется.

Таблица пользователей

  • Идентификатор_пользователя
  • Имя пользователя
  • Email

и т.д..

Таблица UserProfiles

  • UserProfileID
  • UserID (таблица FK для пользователей)
  • Местоположение
  • День рождения
4b9b3361

Ответ 1

Для отношений "один к одному" EF ожидает, что таблицы используют один и тот же первичный ключ. И действительно, если это правда, один-к-одному они, вероятно, должны. Итак, в вашем примере, если вы сделаете UserID основным ключом в таблице UserProfiles, ваш индивидуальный будет работать.

Ответ 2

У меня есть аналогичная проблема, но с сценарием продажи и неплатежеспособности.

Пролет может существовать без продажи, и продажа может существовать без простоя. Это означает, что у меня есть отношения 0 или 1 до 0 или 1.

Распространение ссылок на источники, но layby не может использовать первичный ключ Sale, а Sale не может использовать первичный ключ Layby.

Я решил проблему с помощью отношения 0 или 1 к многим, настроил getter и setter'а Laybys на продажу как закрытый, а затем предоставил свой собственный 'Layby' getter и setter в моем POCO.