Acabei de começar uma nova aplicação web com asp.net mvc
e sql server 2005
... Até agora, nas minhas aplicações webform, eu usei ADO.NET
... eu quero o mesmo na minha asp.net MVC
Apllicação ...
Eu tenho um banco de dados em sql server 2005
com todo o stored procedures
... Agora eu quero usar esses procedimentos armazenados no meu aplicativo MVC ... eu não uso nenhum ORM
... eu quero usar o ADO.NET ..
Qualquer amostra controller
que chama um model
que usa um stored procedure
e retorna um Dataset
ao controller
e depois o controller to View
para exibir registros ... Qualquer sugestão ...
Respostas:
2 para resposta № 1Eu recomeçaria usando um serviço ou umrepositório que é responsável por preencher o modelo com os dados do procedimento armazenado que o controlador envia para a exibição. Eu não tenho certeza sobre o raciocínio para evitar ORMs com o desejo de usar o ADO.NET. A realidade é a estrutura de entidade, Linq2Sql, SubSoncic e NHibernate são muito comprovadas e confiáveis.
Aqui está um exemplo rápido que eu coloquei ... Ele usa o SqlConnection e SqlCommand para chamar o procedimento armazenado ... Coloque este código em uma classe separada que o controlador chama para obter o modelo.
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;
}