Использование «Включить столбец иностранного ключа в модель» в мастере EF
-
10-10-2019 - |
Вопрос
Вы в основном используете эту опцию (по умолчанию проверяется) или вы его снимаете?
Я обнаружил, что, когда у меня есть как колонка FK, так и навигационное свойство на моих сущностях, это приводит к проблемам с помощью инструментов отображения - они могут связывать то или другое, но почти никогда не обоих.
Если бы мы следовали руководящим принципам концептуальных моделей, я думаю, что эти столбцы никогда не должны добраться до свойств, должны ли они?
Надеемся, что многие из вас отвечают, чтобы мы могли получить лучшее представление о том, что разработчики выбирают чаще.
Решение
Если бы мы следовали руководящим принципам концептуальных моделей, я думаю, что эти столбцы никогда не должны добраться до свойств, должны ли они?
Правильно - это то, что команда EF сделала в первом выпуске с .NET 3.5 SP1 - и получила тонну очень негативных отзывов.
Да, «пустически», выступая - вы не должны использовать столбцы иностранных ключей напрямую - вместо этого вы должны использовать правильный способ справиться со ссылкой. Но на самом деле, во многих случаях - вам не нужно иметь дело со всей ссылочной организацией, на самом деле - просто установление столбца иностранного ключа (например, при импорте данных или многих других случаях).
Так что, хотя да - я согласен - иногда это немного взломать, я вижу это большим плюсом, что у вас есть возможность использовать столбец иностранного ключа в сущности - в конце концов, на уровне базы данных, вот что вы и вы Будучи иметь дело тоже.
Итак, по моему мнению, и все рекомендации, которые я слышал от коллег, которые также используют EF в серьезной работе, и все блоггер и EF Gurus (например, Джули Лерман, которая написала а Забронируйте EF) - Включите этот вариант, и вы получите лучшее из обоих миров!