Реализация отношения один к нулю или один в SQL Server
Я использую первый подход к базе данных Entity Framework 4.1. Я использовал устаревшую базу данных. В моем edmx-файла, который создал классы сущностей на основе таблиц в устаревшей базе данных, есть один-ноль-или-один связь между некоторыми сущностями.
хотя я исследовал таблицы базы данных и связи между ними я не нашел, как один-ноль-или-один отношение было реализовано в базе данных.
для получения дополнительной информации я положил скриншоты моей схемы базы данных и свойства ее отношения и соответствующих сущностей в файле edmx:
2 ответов
В 1-0..1 отношение в базе данных отображается непосредственно. Он построен между таблицами Course и OnlineCourse, где курс является основным в отношении (1), а OnlineCourse зависит от FK, настроенного на CourseID. FK также является PK OnlineCourse = он должен быть уникальным и из-за этого равен 0..1.
Если таблицы базы данных уже разработаны с отношением 1:1 (или 1:0-1), то EF будет работать с ним просто отлично, хотя он будет множественным именем дочерней таблицы (если вы позволите ему множественным).
основной подход заключается в создании внешнего ключа (как если бы вы делали 1:многим), то поставьте уникальный индекс на поле внешнего ключа. Это то, чего вы хотите достичь?
Это тоже может помочь:проектированием 1:1 и 1:m отношения в SQL Server .
на стороне Примечания, 1-1 отношения часто не являются необходимыми и / или симптомом дизайна базы данных, который нуждается в переосмыслении. Однако, похоже, вы унаследовали дизайн... Я все об этом знаю!