Какие вы знаете патерны использования Entity Framework и DbContext?
Мне нравиться использовать EntityFramework для быстрого создания сайтов на ASP.NET MVC. Обычно я использую принцип dabase first и шаблон генерации кода DbContext.
После создаю некий глобальный слой, который взаимодействует с DbContext и возвращает, изменяет, удаляет, добавляет сущности, что-то вроде:
GetLastPosts(int count)
FindPostById(int id)
RemovePost(int id)
и так далее
Все это в одном классе. Обычно он становиться очень большим и мне это не нравится. Поделитесь, пожалуйста, собственными архитектурными практиками использования EntityFramework.
Использую классический паттерн Repository в купе с паттерном Unit Of Work, все это приправленно инверсией управления (IoC) для того чтобы можно было сменить Data Layer безболезненно.
Ну можно еще и ActiveRecord впилить… Для работы с пользователями и группами почти полностью повторил System.DirectoryServices.AccountManagement. И оказалось очень удобно. Не надо плодить репозитоиев, так как часто они вырождаются в пустой класс, унаследованный от абстрактной стандартной реализации. Но это зависит от контекста использования. В другом месте используется тот же репозиторий.