Мне нужно построить архитектуру веб-приложения, используя Entity Framework 4.1 и ASP.NET.У меня уже есть структура базы данных, поэтому я должен использовать кулак базы данных.Я прочитал много статей и тем здесь, но мне кажется, что я что-то упустил.Я решил организовать проекты следующим образом:
Я спроектировал веб-приложение с Linq2Sql.Я использовал этот проект .Он предоставляет шаблон T4, который генерирует определенный класс статического репозитория для каждой сущности.Мне нравится такой подход, так как в любой репозиторий легко добавить дополнительную логику, например GetUserByName()
.Мне нравится этот подход, но я пока не могу найти аналогичный подход для EF4.Я нашел только общие репозитории, а затем я должен вручную создать конкретные репозитории.Что мне не нравится в этом случае, так это то, что во-первых, у меня есть приложение, над которым я работаю, с немного сложной бизнес-логикой, поэтому мне придется вручную создавать конкретные репозитории почти для каждой сущности.Во-вторых, если сначала я использую общий репозиторий для получения всех сущностей, а позже мне нужно будет использовать, например, GetUserByName()
, тогда в коде будет несогласованность.Я бы предпочел, чтобы все данные были получены одинаково.
Я либо что-то упустил в структуре архитектуры.
Generic: универсальный репозиторий, если необходимо разделить
DAL: файл EDMX (Entity Model) с классом контекста и репозиториями
BLL: бизнес-логика системы
- сущности
- услуги
- и т. Д.
Пользовательский интерфейс: страницы ASP.NET
Вопросы:
Правильно ли разделение логики?
Стоит ли использовать определенные репозитории?
Какую реализацию шаблона репозитория вы бы порекомендовали для лучшей организации проекта и простоты использования?
Лучше использовать статический репозиторий?
Спасибо