Usuário com melhor resposta
Procedure em LINQ to sql

Pergunta
-
Respostas
-
Sim, é possivel.
a questão é que ao você importar um banco de dados para o seu EDMX, as procedures não irão aparecer como as entidades. Para isto, lá no editor do seu EDMX, na aba MODEL BROWSER na parte referente ao seu banco de dados deverá ter uma pasta chamada Stored Procedures, lá dentro você irá encontrar as SP importadas. Clique com o botão direito sobre ela e clique em ADD FUNCTION IMPORT.
defina o nome ao qual você quer chamar a SP, o tipo de retorno(SE TIVER) e mapeia as colunas de retorno, caso seja um retorno de + de uma tabela, você pode criar um novo tipo para ele. aperte o OK, veja abaixo dois exemplos de chamadas para duas procedures:
/*EXEMPLOS*/ create proc retornaNomes @nome nvarchar (100) as select * from person p inner join person_contact p1 on p.id = p1.id where p.Nome like @nome+'%' --------------------------------------------- create proc soma @v1 int , @v2 int ,
@Resultado int OUTPUT as set @Resultado = @v1+@v2 return @resultadono código C#, após a realizaçãodo da importação que eu citei fica assim:
ExampleContainer db = new ExampleContainer(); /*CALC*/ System.Data.Objects.ObjectParameter resultado = new System.Data.Objects.ObjectParameter("Resultado" ,0); db.soma(1, 2, resultado); /*RETORNANOMES*/ List<Person> lstPerson = db.retornaNomes("olavo" ).ToList();
Olavo Oliveira Neto
Se for útil marque como resposta e faça um Developer feliz :)- Sugerido como Resposta AndreAlvesLimaModerator quarta-feira, 15 de dezembro de 2010 21:36
- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 13 de janeiro de 2011 11:37
Todas as Respostas
-
-
Sim, é possivel.
a questão é que ao você importar um banco de dados para o seu EDMX, as procedures não irão aparecer como as entidades. Para isto, lá no editor do seu EDMX, na aba MODEL BROWSER na parte referente ao seu banco de dados deverá ter uma pasta chamada Stored Procedures, lá dentro você irá encontrar as SP importadas. Clique com o botão direito sobre ela e clique em ADD FUNCTION IMPORT.
defina o nome ao qual você quer chamar a SP, o tipo de retorno(SE TIVER) e mapeia as colunas de retorno, caso seja um retorno de + de uma tabela, você pode criar um novo tipo para ele. aperte o OK, veja abaixo dois exemplos de chamadas para duas procedures:
/*EXEMPLOS*/ create proc retornaNomes @nome nvarchar (100) as select * from person p inner join person_contact p1 on p.id = p1.id where p.Nome like @nome+'%' --------------------------------------------- create proc soma @v1 int , @v2 int ,
@Resultado int OUTPUT as set @Resultado = @v1+@v2 return @resultadono código C#, após a realizaçãodo da importação que eu citei fica assim:
ExampleContainer db = new ExampleContainer(); /*CALC*/ System.Data.Objects.ObjectParameter resultado = new System.Data.Objects.ObjectParameter("Resultado" ,0); db.soma(1, 2, resultado); /*RETORNANOMES*/ List<Person> lstPerson = db.retornaNomes("olavo" ).ToList();
Olavo Oliveira Neto
Se for útil marque como resposta e faça um Developer feliz :)- Sugerido como Resposta AndreAlvesLimaModerator quarta-feira, 15 de dezembro de 2010 21:36
- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 13 de janeiro de 2011 11:37