Использование нескольких файлов EDMX против одного большого файла EDMX? - PullRequest
12 голосов
/ 26 января 2011

Я новичок в модели Entity и ищу совет, как организовать мою модель Entity.

должен ли я создать один файл модели сущности (.edmx), который будет содержать все таблицы в моей базе данных, или я должен разбить его на логические файлы для пользователя, заказов, продуктов и т. Д.

Пожалуйста, дайте мне знать, какой из них лучше и каковы плюсы / минусы (если есть) каждой альтернативы.

Спасибо.

Ответы [ 3 ]

15 голосов
/ 21 ноября 2012

Я собираюсь пойти против зерна здесь.Сейчас я создал 2 больших приложения с EF, одно с одним edmx и одно с несколькими.Есть плюсы и минусы, но в целом я нашел жизнь намного проще с одним edmx.Причина в том, что в приложении практически никогда не бывает реального разделения доменов, даже если это происходит с самого начала.Появляются новые требования, в которых вас просят связать сущности с различными edmx, после чего вам нужно проводить рефакторинг и постоянно перемещать вещи.

Все аргументы для деления скоро устареют, когда EF 5 вводит Multiple Diagram s, что является единственным реальным преимуществом для разделения файлов EDMX в первую очередь.Вы не хотите видеть все, над чем вы не работаете, и вам не нужно влияние на производительность.

В моем приложении с разделенными edmx'ами у нас теперь есть несколько дублирующих сущностей, чтобы получить преимущество от свойств навигации.Может быть, ваше приложение имеет разделение доменов, но обычно все подключается к пользователю.Я подумываю о слиянии двух сейчас, но это будет много работы.Поэтому я бы сказал, держите их вместе, пока это не станет проблемой.

8 голосов
/ 26 января 2011

Наличие одного большого EDM, содержащего все сущности, обычно НЕ является хорошей практикой и не рекомендуется. Вы должны придумать разные наборы моделей предметной области, каждая из которых содержит связанные объекты, в то время как каждый набор не связан и не связан с другим.

Взгляните на этот пост, где я подробно объяснил этот вопрос:
Имеет ли смысл создавать единую диаграмму для всех объектов?

2 голосов
/ 27 февраля 2011

я думаю, что мы должны сохранить несколько файлов EDMX в нашем проекте.это как файл 1-edmx - один агрегат (коллекция связанных объектов).в соответствии с DDD (проектирование дисков домена) в нашей модели может быть несколько агрегатов.мы можем сохранить один файл EDMX для каждого агрегата

...