Уровень доступа к базе данных ASP.NET MVC

1

Поскольку я новичок в MVC, у меня есть несколько вопросов о подключении к базе данных.

Я пытаюсь создать приложение MVC, и до сих пор я создал 2 слоя: Model (где мои классы, без каких-либо функциональных возможностей) и Business (есть функциональность для моих классов, каждый класс имеет свой собственный бизнес-класс), и там также является моим приложением MVC. Оба эти слоя отделены от проекта MVC, я использую их как ".dll-s". Я также использую шаблон репозитория, и инъекция зависимости выполняется Unity.

Теперь идет сложная часть (или, по крайней мере, это для меня). Я хочу привязать мое приложение к базе данных. Большинство учебных пособий, которые я нашел, полагаются на Entity Framework, но я не хочу его использовать, я хочу использовать ADO.NET(Entity Framework заставляет меня чувствовать, что я отдаю свою "власть", поэтому я хочу управлять SQL сам по себе). Так что это лучший способ сделать это? Как я могу получить доступ к Web.Config извне и прочитать строку подключения (или я должен позаботиться о строке соединения внутри уровня доступа к данным)? Есть ли какая-либо передовая практика, как управлять соединением "снаружи"? Я имею в виду, что я мог бы просто создать объект dbaccess внутри моего приложения MVC, но я этого не хочу. В приложении MVC я просто хочу использовать свои бизнес-классы (объекты).

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

Теги:
ado.net
asp.net-mvc

1 ответ

1

Вы можете создать другой проект под названием "DAL" для обработки вашего уровня доступа к данным, который создается с использованием чистого ADO.NET. Вы добавите ссылку на проект сущности, чтобы вы могли вернуть эти объекты из методов доступа к данным. Теперь из вашего бизнес-уровня добавьте ссылку на проекты доступа к данным, чтобы вы могли получить доступ к этим методам доступа к данным из классов бизнес-уровня. Из вашего проекта MVC добавьте ссылку на свой бизнес-проект (и объекты проекта, если вы используете эти объекты объекта в своем проекте MVC). Таким образом, ваш проект MVC не имеет представления о том, какую технологию доступа к данным вы используете.

Вам не нужно иметь строку соединения в вашем проекте DAL. Храните это в проекте UI MVC, и ваш проект DAL сможет прочитать его, если у вас есть соответствующие ссылки, добавленные между этими проектами.

  • 0
    Привет, это было то, что я имел в виду;) Но поэтому мне нужно будет создать класс доступа к данным для каждого из моих объектов модели, и у меня будут зависимости от моей модели. Есть ли более общий способ, так что мне не нужно сообщать моему dataaccess, какой класс обрабатывается?

Ещё вопросы

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