Это плохая идея сделать ASP.NET MVC без ORM? - PullRequest
0 голосов
/ 22 октября 2009

Я изучаю ASP.NET MVC уже несколько дней и обнаружил, что большинство примеров в ASP.NET MVC с ORM. У меня нет проблем с использованием ORM для моего обучения и личного проекта. Но на моей работе мы работали только с веб-формами ASP.NET и используем только хранимые процедуры. У нас есть слой доступа к данным (простые классы c #) как интерфейс между кодом asp.net за страницей и хранимыми процедурами. Теперь, если мы хотим использовать ASP.NET MVC, будет плохой идеей сделать это без ORM. Поскольку большинство инфраструктур MVC, таких как rails / django, имеют встроенные ORM, вредно ли использовать наш собственный уровень доступа к данным с ASP.NET MVC. Я не хочу иметь какую-либо деятельность, связанную с базой данных, такую ​​как datareader, datatable в моих контроллерах. Есть ли другое лучшее решение?

Ответы [ 3 ]

3 голосов
/ 22 октября 2009

Если у вас уже есть DAL - используйте его! Если вы не планировали переходить от своего существующего DAL к OR / M, вы все равно не сочтете целесообразным переходить на OR / M ради себя.

Одна из прекрасных особенностей шаблона MVC - это разделение интересов. Это означает, что вы уменьшаете связность в своем приложении, что делает архитектуру вашего приложения гибкой и модульной. Это означает, что если в какой-то момент вы захотите заменить существующий DAL на более современное решение OR / M, вы можете сделать это с минимальным воздействием на ваше приложение.

2 голосов
/ 22 октября 2009

Никакого вреда. ASP.NET MVC не требует ORM, но у вас должны быть модели (которые могут не соответствовать вашим хранимым процедурам 1: 1) данных, с которыми могут работать ваши представления и контроллеры.

Вы можете бросить свой собственный ORM, если хотите, даже. ORM созданы для того, чтобы ускорить процесс разработки и упростить сопоставление данных базы данных с объектными моделями, которые вы используете в своем приложении. Вы также можете сопоставить ORM с хранимыми процедурами.

Я лично предпочитаю использовать хранимые процедуры и отображать результаты на объект через мой собственный уровень доступа к данным, поскольку это дает мне большую гибкость. Это личное предпочтение, и нет правильного / неправильного ответа.

1 голос
/ 23 октября 2009

Model View Controller - это структура, помогающая поставщику четко разделить проблемы между уровнями приложения. Модель может быть любой формы, которую вы пожелаете. ORM не всегда подходит, если вы имеете в виду какой-то другой DAL, используйте его. Прямой доступ к данным с использованием шаблона репозитория работает хорошо, это поможет вам скрыть логику, которую вы используете для доступа к базе данных, и позволит вам с большей легкостью изменить ее позже в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...