WebServices, LINQ e Entity Framework (EF4)

Olá pessoal, tudo bom?

Quando desenvolvemos WebServices em ASP.NET que devolvem resultados de instruções de seleção (select) a partir de métodos do ADO.NET, geralmente realizamos o retorno dos dados do WebMethod a partir de DataSet, que por padrão, é a forma como os WebServices serializam os dados para devolução via XML.

Já quando desejamos utilizar LINQ através do Entity Framework 4 (EF4) em métodos de um WebServices, a coisa muda um pouco de figura, visto que a consulta LINQ provavelmente irá retornar resultados através de IEnumerables ou IQueryables e, neste caso, uma das alternativas que temos é retornar os dados através de listas de tipos genéricos, de tipos primitivos ou mesmo de classes mapeadas pelo Entity Data Model.

Vejam os exemplos abaixo:

Exemplo 1: Realizando uma consulta LINQ e retornando os dados via WebServices através de uma lista do tipo string


[WebMethod(Description = "Retorna uma lista <string> contendo o nome de todos os fabricantes")]
public List<string> ObterFabricantes()
{
   List<string> lista = new List<string>();
   using (AutoPecasEntities contexto = new AutoPecasEntities())
   {
      var dados = (from fabricantes in contexto.pecas_fornecedores
                   select fabricantes.fabricante).Distinct();
      foreach (string x in dados)
         lista.Add(x);
      return lista;
   }
}

Exemplo 2: Realizando uma consulta LINQ e retornando uma lista de objetos da entidade “pecas_fornecedores”


[WebMethod(Description = "Recebe por parametro o nome do fabricante e devolve a lista das peças fornecidas por ele.")]
public List<pecas_fornecedores> ObterPecas(string fabricante)
{
   using (AutoPecasEntities contexto = new AutoPecasEntities())
   {
      List<pecas_fornecedores> dados = (from fornecedor in contexto.pecas_fornecedores
                                        where fornecedor.fabricante == fabricante
                                        select fornecedor).ToList();
      return dados;
   }
}

Posts relacionados:

1. LINQ, Entity Framework e Tipos Anônimos
2. LINQ e Entity Framework

3. Operações CRUD com Entity Framework
4. ADO.NET Entity Framework – Introdução + Exemplo prático

Caso tenham mais alguma dúvida sobre o assunto, por favor, questionem.

Um grande abraço a todos,
Eduardo Henrique Rizo

Anúncios

Coordenador de Internet da Universidade do Oeste Paulista (Unoeste) e professor universitário de disciplinas relacionadas ao desenvolvimento de sistemas para Web, gerenciamento de servidores, serviços e redes.

Marcado com: , , , , ,
Publicado em ASP.NET, Desenvolvimento Web, Entity Framework, LINQ, Microsoft
Um comentário em “WebServices, LINQ e Entity Framework (EF4)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Sorocaba e Região
Prestadora de serviços RIZZO GS - Sorocaba/SP

Serviços de limpeza, conservação, recepção, copa, portaria, vigia, zeladoria, jardim, elétrica, hidráulica, pintura, etc.

Contato: (15) 3357-4263 / (15) 3357-4502 - contato@rizzogs.com.br

Website: http://www.rizzogs.com.br

%d blogueiros gostam disto: