Ответ 1
Недавно я прошел этот же процесс и нашел несколько замечательных ресурсов по этому вопросу. Вот пара, которая была очень полезна:
- Усадочные модели EF с привязкой к DDD-контекстам.
- Как определить срок службы вашего объекта ObjectContext.
Я создавал приложение для рабочего стола, и в итоге я использовал несколько контекстов, чтобы сохранить привязку к жизни, привязанную к модулю, а не к приложению. Это мне очень хорошо показалось, и мне нравится, что мой DbContext
не загружается с DbSets
и ограничен теми, которые актуальны для текущего модуля.
В приложении ASP.NET MVC это отличается от того, что DbContext
будет работать только до тех пор, пока запрос, и в этих случаях я обычно использую один DbContext
для упрощения вещей, если база данных не очень большая, С большой базой данных я бы, вероятно, разделил ее на несколько DbContexts
, чтобы ограничить накладные расходы и беспорядок, и держать вещи раздельными.