Entity Framework 0..1 до 0..1 Ассоциация - PullRequest
1 голос
/ 18 октября 2011

Возможно ли это?

У меня есть сущности Пользователь и Поставщик.Пользователь может или не может быть Провайдером (может быть просто Помощником), а Провайдер может или не может быть Пользователем (это может быть Местоположение).

Дизайнер позволяет мне моделировать это, но он выигралне проверить из-за ключевых свойств.Этого можно достичь с помощью EF?

1 Ответ

2 голосов
/ 18 октября 2011

Нет, это не потому, что отношение один-к-одному в EF всегда моделируется через первичный ключ.Зависимый объект должен иметь ограничение внешнего ключа для основного объекта, помещенного в его первичный ключ.Это всегда приводит к 0..1 к 1, где у принципала может быть один или нет зависимого, но у зависимого должен быть принципал, потому что у него должно быть значение первичного ключа, и у этого значения есть референциальное ограничение к субъекту сущности.

Кстати.Я не уверен, что это может быть даже смоделировано в базе данных, потому что даже с уникальным ключом нулевое значение по-прежнему считается одним из уникальных значений, поэтому только для одной записи может быть установлено значение ноль, если у вас также есть уникальный индекс для этого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...