Как использовать SQL Server 2005 хранимых процедур в asp.net MVC? - PullRequest
1 голос
/ 02 февраля 2010

Я только что запустил новое веб-приложение с asp.net mvc и sql server 2005 ... До сих пор в своих приложениях веб-формы я использовал ADO.NET ... Я хочу то же самое в своем asp.net MVC приложении ...

У меня есть база данных в sql server 2005 со всеми stored procedures ... Теперь я хочу использовать эти хранимые процедуры в своем приложении MVC ... Я не использую ORM ... Я хочу использовать ADO .NET ..

Любой образец controller, который вызывает model, который использует stored procedure и возвращает Dataset в controller, а затем controller to View для отображения записей ... Любые предложения ...

1 Ответ

2 голосов
/ 02 февраля 2010

Я бы возобновил использование службы или репозитория, который отвечает за заполнение модели данными из хранимой процедуры, которую контроллер отправляет в представление. Я не уверен в причинах избегания ORM с желанием использовать ADO.NET. Реальность такова, что сущности, Linq2Sql, SubSoncic и NHibernate очень проверены и надежны.

Вот краткий пример, который я собрал ... Он использует SqlConnection и SqlCommand для вызова хранимой процедуры ... Поместите этот код в отдельный класс, который контроллер вызывает для получения Модели.

    public BlogEntry GetBlogEntry(int blogId)
    {
        SqlConnection sqlConnection = new SqlConnection();
        sqlConnection.ConnectionString = MyConnectionString;
        SqlCommand sqlCommand = new SqlCommand();
        sqlCommand.CommandText = "mySproc";
        sqlCommand.Connection = sqlConnection;
        sqlConnection.Open();
        var reader = sqlCommand.ExecuteReader();.
        var blogEntry = new BlogEntry();

        while (reader.Read())
        {
            //do something to fill your model...
        }
        return blogEntry;   
    }
...