Как создать слой доступа к данным в приложении MVC

1

У меня есть требование создать приложение регистрации регистрации с помощью mvc, и это приложение должно быть многослойным.

Я не так много знаю о многослойной архитектуре, я только что прочитал об этом несколько раз. Поэтому я верю в стандартное приложение mvc:

Уровень презентации - мои взгляды Уровень бизнес-уровня - элементы управления

и где я должен поместить свой уровень доступа к данным? В моем приложении, когда пользователь нажимает кнопку регистрации, модель вступает в действие. Я проверяю, является ли модель действительной, помещает ее в базу данных с использованием инфраструктуры сущностей и перенаправляет пользователя на страницу приветствия, но в этой архитектуре отсутствует уровень доступа к данным.

Где я должен поставить свой доступ к данным и какие обязанности я должен ему дать?

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

Теги:
asp.net-mvc
entity-framework-6.1

2 ответа

1
Лучший ответ

Вы можете создать отдельный проект в качестве уровня доступа к данным. Подключите его к базе данных и используйте EF в этом проекте и напишите классы для выполнения всех бизнес-операций с использованием EF. Вы также можете отделить бизнес-логику от фактической логики доступа к базе данных и поместить их в отдельные проекты, но я думаю, что это не нужно, так как сам EF является ORM и имеет всю логику доступа к данным.

Теперь ссылайтесь на этот проект в проекте MVC, в котором ваши представления представляют собой ваш уровень презентации. Моделями могут быть модели просмотра или бизнес-модели. В любом случае вам необходимо управлять преобразованием между уровнем презентации и бизнес-уровнем. Не делайте этого в контроллере. Создайте для этого отдельный класс преобразователей, следуя философии MVC "Живая модель, Skinny Controller".

-1

Ваши представления - это уровень презентации, и ваш бизнес-уровень должен быть вашим контроллером. Каждое представление взаимодействует с контроллером, а контроллер взаимодействует с Entity Framework.

Я рекомендую вам более точное чтение о модели MVC и ее работе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню