Entity Framework, разделение на несколько контекстов

409
11 марта 2017, 00:26

Здравствуйте.

У меня есть следующая ситуация. Есть в проекте большое количество сущностей (21 шт.) Как правильно с точки зрения архитектуры и вообще правильности нужко с ними работать? Создать один контекст для все 21? Или же попробовать как-то логически поделить сущности на группы и для каждой сделать свой контекст?

Answer 1

Несмотря на то, что при удачном разбиении бизнес модели на несколько контекстов можно получить преимущество по читабельности и поддерживаемости кода, можно так же столкнуться с непредвиденными трудностями при реализации таких простых вещей как:

  1. Создание базы данных используя code first подход. Только один контекст сможет создавать новую базу данных, а следовательно таблиц для других контекстов в этой базе не будет.

  2. Управление связями между объектами. Два связанных класса нельзя поместить в разные контексты. А следовательно, в бизнес модели должны быть не связанные группы классов, чтобы их можно было разбить на контексты.

Добавлено

В этом блоге подробно расписано что надо сделать, чтобы EF 6 мог нормально работать в таком сценарии: Data Points - EF6 Code First Migrations for Multiple Models.

READ ALSO
админ панель asp.net mvc c#

админ панель asp.net mvc c#

Ситуация такая, собираюсь сделать админ панель для создания объектов: новых и редактирования старых, админ будет только один, то есть я не собираюсь...

764
Реализация дерева C#

Реализация дерева C#

Помогите пожалуйста с алгоритмомУ меня есть список такой структуры:

394
Как получать id последнего зарегистрированного в вк пользователя в данный момент

Как получать id последнего зарегистрированного в вк пользователя в данный момент

Как получать id самого последнего зарегистрированного в вк пользователя средствами PHP? id должен быть самым новым на момент отправки запроса...

332
Не получается установить расширение Laravel

Не получается установить расширение Laravel

Пытаюсь установить расширение socialiteproviders/vkontakte

283