Как Entity Framework сообщает, следует ли использовать в отношениях кратность «один» или «ноль или один»? - PullRequest
3 голосов
/ 24 июня 2009

Я программно создаю файл edmx как часть нашего процесса генерации кода, и я хотел бы знать, как дизайнер решает использовать «1» или «0..1» для отношений, когда вы «Обновляете модель из база данных". Любое понимание этого? Спасибо

Edit:

Хорошо, я думаю, что он использует "0..1", когда сторона "много" является обнуляемым внешним ключом, и "1", если он не обнуляемый. Кто-нибудь может это подтвердить?

Ответы [ 2 ]

4 голосов
/ 25 июня 2009

Да, установка «0..1» или «1» для роли «Родительское отношение» зависит от того, является ли столбец обнуляемым или нет.
Не забывайте, что если отношение построено на частях столбцов первичного ключа из обеих таблиц (связь 1 к 1), то количество элементов будет от 1 (родительский) до 0..1 (дочерний)
Если вы разрабатываете новый инструмент для генерации edmx, мы рекомендуем вам как можно больше экспериментировать и анализировать. Мы разработали инструмент времени разработки для создания и редактирования моделей Entity Framework и LINQ to SQL с дальнейшей генерацией кода для Oracle, MySQL, PostgreSQL, SQL Server и SQLite для наших клиентов. С SQL Server проблем не было, потому что Entity Framework изначально разрабатывался поверх него, но другие базы данных выявили некоторые трудности. Было даже впечатление, что некоторые особенности базы данных Oracle, например, вообще не были учтены.

0 голосов
/ 13 ноября 2009

Ваше редактирование на месте. EF обнаруживает это в зависимости от того, является ли поле пустым.

...