2015-01-30 8 views
2

Мне поручено переключить фреймворки и выбрать EF как ORM, но я пытался выяснить, как это сделать. Я понимаю основы N-Tier, но с нашей компанией мы поддерживаем 15 приложений, и я пытаюсь понять, должны ли мы иметь отдельные файлы .EDMX для каждого проекта.Настройка N-уровня предприятия

Если да, то все должны быть в одном проекте. Будут ли они проектом DAL и несколькими файлами .EDMX, или будет только один массивный .EDMX-файл с нашими 100 + столами?

ответ

1

Вот что я бы рекомендовал:

  1. Есть различные решения для каждого приложения. Каждое решение будет иметь свой собственный файл EDMX, который будет находиться в DAL.
  2. Вы можете создать один EDMX для сотен таблиц, но было бы лучше создать отдельный EDMX для каждой вспомогательной функциональности, если приложение имеет столько таблиц. В этом случае вы можете иметь несколько EDMX в одном проекте DAL.

Есть несколько причин для разделения EDMX:

  1. Entity Framework использует в ObjectContext для отслеживания изменений. Если он отслеживает 100 объектов, он должен делать больше работы и ухудшается производительность. Ограничение каждого edmx на меньшее количество таблиц дает лучшую производительность.
  2. Очень вероятно, что люди могут вносить конфликтующие изменения в EDMX. Вам придется излишне смотреть на слияние изменений, даже если это не ваша часть функциональности. Если каждая подгруппа работает над собственным EDMX, другие подкоманды не будут иметь такого большого влияния.

Надеюсь, это поможет.

+0

Благодарим за освобождение этого для меня! – Brandon