Я пытаюсь найти некоторую информацию о настройке предпочтительного решения при использовании MVC 2 и Entity Framework, и мне кажется наиболее интуитивно понятным настроить это веб-приложение в 3 слоя:
- MyProject.Web (проект MVC для презентации)
- MyProject.Data (Уровень шлюза данных, использующий Entity Framework для связи с БД)
- MyProject.Tests (тестовый проект, созданный при настройке нового проекта MVC)
Похоже, это противоречит находящимся мной примерам и документации (например, пример NerdDinner
), в которой проект MVC рассматривается как посредник непосредственно с базой данных. Пример NerdDinner
помещает доступ к данным в класс репозитория, смешанный с моделями MVC.
Я попытался пойти по пути, который кажется мне лучшим, и создал свой элемент «Модель данных сущности ADO.NET» в моем отдельном проекте Data
, но это выдает ошибку при попытке использовать MVC для перечисления предметов в нем:
"Невозможно загрузить указанный ресурс метаданных."
если у меня нет копии модели Entity Data в моем проекте MVC.
Прежде чем я зайду слишком далеко, чтобы разобраться с этой ошибкой, я хочу выяснить, борюсь ли я только с рамками пуризма, когда я могу быть дисциплинирован, используя только доступ к данным в моем хранилище.
так:
- Возможно ли вообще или рекомендуется ли использовать мой Entity Framework def в этом другом проекте?
- Буду ли я жертвовать некоторыми другими функциями MVC, выделяя их таким образом? (например, проверка?)
- Если я иду в правильном направлении, и другие согласны, есть ли другие примеры или документы, на которые кто-то мог бы указать мне?