Использование хранимой процедуры в бритве MVC3 - PullRequest
0 голосов
/ 12 августа 2011

Я начал изучать бритву mvc3.Я знаю, что этот вопрос прост, но я действительно не знаю, как я могу использовать хранимую процедуру (mssql) в бритве mvc3.Может кто-нибудь показать мне образец, как я могу его использовать?

Ответы [ 3 ]

2 голосов
/ 12 августа 2011

Ваш выбор реализации доступа к данным не имеет ничего общего с инструментами, которые вы используете для создания пользовательского интерфейса, и, следовательно, не имеет ничего общего с ASP.NET MVC 3 и Razor.

Прочтите Entity Framework , который является хорошим выбором для доступа к данным в приложениях .NET и может использоваться для выполнения вашей хранимой процедуры.

1 голос
/ 23 ноября 2011

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

Так ....

a) Напишите ваши хранимые процедуры для обработки действий CRUD, т.е. получите одну запись, получите список записей, сохраните запись (вставьте и обновите) и удалить запись и, возможно, специальные алгоритмы процедур

b) Напишите классы доступа к данным, у которых есть методы, использующие эти хранимые процедуры, и верните структуру данных (класс) требуемого типа, полученную из набора результатов SQL. Вам, конечно, придется спроектировать их ..... они обеспечивают вашу модель (M) в шаблоне MVC. Таким образом, ваш контроллер будет ссылаться на ваше пространство имен доступа или класс, а ваше представление будет использовать Razor @model для ссылки на соответствующую структуру данных.

Ключевым моментом является генерация классов, которые можно использовать в качестве модели .... как вы генерируете эти классы, не имеет значения (EF, NHibernate, хранимые процедуры) .... или хотя бы это ваше решение. Когда у вас есть эти классы, вы можете использовать их в Controller и View.

Большинство примеров, описывающих MVC, используют EF для генерации классов. Но я всегда говорю, что вы должны получать данные из базы данных независимо от того, и вы должны понимать, какой SQL используется EF для получения / сохранения записей.

1 голос
/ 12 августа 2011

MVC3 Razor - это веб-фреймворк.Он предназначен для отображения материала на веб-страницах.MVC не имеет ничего общего с доступом к данным.

ADO.NET несет ответственность за это.Существует ряд платформ, построенных поверх ADO.NET (если вы не хотите использовать необработанные вещи), например LINQ to SQL, Entity Framework (оба от Microsoft) или NHibernate (с открытым исходным кодом).

Если вы посмотрите на один из них, вам больше повезет с получением данных из хранимой процедуры.

...