Использование опции "Включить столбец внешнего ключа в модель" в мастере EF

Вы в основном используете эту опцию (по умолчанию отмечен) или вы снимаете галочку?

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

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

Надеемся, что многие из вас ответят, чтобы мы могли лучше представить, что разработчики выбирают чаще.

1 ответ

Решение

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

Правильно - это то, что команда EF сделала в первом выпуске с.NET 3.5 SP1 - и получила массу очень негативных отзывов об этом.

Да, если говорить "чисто" - вы не должны использовать столбцы внешнего ключа напрямую - вместо этого вы должны использовать правильный способ работы с указанным объектом. Но на самом деле, во многих случаях - вам не нужно иметь дело со всей сущностью, на которую ссылаются, на самом деле - достаточно просто установить столбец внешнего ключа (например, при импорте данных или во многих других случаях).

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

Поэтому, на мой взгляд, и все рекомендации, которые я слышал от коллег, которые также используют EF в серьезной работе, и от всех блоггеров и EF-гуру (например, Джули Лерман, написавшую книгу об EF) - включите эту опцию, и вы получить лучшее из обоих миров!

Другие вопросы по тегам