Visão geral
Uma das coisas sobre as quais eu perguntei bastante neste site é o LINQ . As perguntas que fiz foram amplas e variadas e geralmente não têm muito contexto por trás delas. Portanto, na tentativa de consolidar o conhecimento adquirido no Linq, estou postando esta pergunta com o objetivo de mantê-la e atualizá-la com informações adicionais, enquanto continuo aprendendo sobre o LINQ.
Espero também que seja um recurso útil para outras pessoas que desejam aprender sobre o LINQ.
O que é o LINQ?
Do MSDN :
O Projeto LINQ é um nome de código para um conjunto de extensões do .NET Framework que abrangem operações de consulta, configuração e transformação integradas ao idioma. Ele estende C # e Visual Basic com sintaxe de idioma nativo para consultas e fornece bibliotecas de classes para aproveitar esses recursos.
O que isso significa é que o LINQ fornece uma maneira padrão de consultar uma variedade de fontes de dados usando uma sintaxe comum.
Quais são os sabores do LINQ?
Atualmente, existem alguns provedores LINQ diferentes fornecidos pela Microsoft:
- Linq to Objects, que permite executar consultas em qualquer objeto IEnumerable.
- Linq to SQL, que permite executar consultas em um banco de dados de maneira orientada a objetos.
- Linq to XML, que permite consultar, carregar, validar, serializar e manipular documentos XML.
- Linq to Entities, conforme sugerido por Andrei
- Linq para conjunto de dados
Existem muitos outros, muitos dos quais estão listados aqui .
Quais são os benefícios?
- Maneira padronizada de consultar várias fontes de dados
- Compilar a segurança das consultas no tempo
- Maneira otimizada de executar operações baseadas em conjunto em objetos de memória
- Capacidade de depurar consultas
Então, o que posso fazer com o LINQ?
Chook fornece uma maneira de gerar arquivos CSV
Jeff mostra como remover duplicatas de uma matriz
Bob obtém uma lista ordenada distinta de uma tabela de dados
Marxidad mostra como classificar uma matriz
Dana recebe ajuda para implementar uma Classificação Rápida Usando Linq
Onde começar?
Um resumo dos links da pergunta do GateKiller está abaixo :
Scott Guthrie fornece uma introdução ao Linq em seu blog
Uma visão geral do LINQ no MSDN
ChrisAnnODell sugere verificar:
O que eu preciso para usar o LINQ?
Atualmente, o Linq está disponível no VB.Net 9.0 e C # 3.0, portanto você precisará do Visual Studio 2008 ou superior para obter todos os benefícios. (Você sempre pode escrever seu código no bloco de notas e compilar usando o MSBuild)
Há também uma ferramenta chamada LinqBridge, que permite executar consultas como o Linq no C # 2.0.
Dicas e truques usando o LINQ
Esta pergunta tem algumas maneiras complicadas de usar o LINQ
Respostas:
LINQ para entidades:
Tenho muito mais marcadas no Delicious.com .
fonte
Mencione o LINQ to Entities, pois o ADO.NET Entity Framework será um importante módulo .NET.
fonte
Obtenha o livro Linq in Action , é uma leitura fácil para um livro de codificação e realmente ensina como usar o Linq e os novos recursos do .NET 3.5, algumas das partes interessantes que eles colocam no idioma.
fonte
Algumas dicas do LINQ:
http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp
fonte
IMHO, um benefício esquecido, mas importante, é a eficiência de codificação do LINQ, por exemplo, quanto pode ser alcançado com tão pouco código. Pessoalmente, acho a sintaxe da consulta fácil de ler e compreender.
fonte
Algumas advertências sobre o uso do LINQ to SQL :
A Microsoft realmente matou o LINQ to SQL?
LINQ to SQL DOA?
Há também alguma controvérsia sobre a primeira versão do Entity Framework , incluindo uma petição .
fonte
Eu acho que a resposta para "Quais são os sabores do LINQ?" está incompleto. Primeiro de tudo, você pode criar seu próprio "sabor". Sim, é uma tarefa avançada, mas agora existem muitas implementações LINQ diferentes.
Aqui está a lista de provedores LINQ existentes (além de mais alguns recursos sobre como aprender LINQ) no blog de Charlie Calvert: Links para LINQ .
E também há uma excelente série de posts de Matt Warren sobre como criar seu próprio provedor LINQ: LINQ: construindo uma série de provedores IQueryable
fonte
Meus 2 centavos, Leia os capítulos "11 Expressões de consulta e LINQ to Objects" e "12 LINQ além de coleções" no livro "C # em profundidade" para entender como o LINQ funciona.
fonte
Para prática Linq
Se você deseja praticar no LINQ com exercícios e respostas, é muito fácil de configurar e, na minha opinião, impressionante:
https://github.com/walkhard/linq-exercises
Baixe do git, aberto no Visual Studio. Seu trabalho é fazer os testes passarem.
[divulgação: aprendi um pouco de linq com ele e contribuo com o projeto, então sim, acho que é uma maneira incrível, rápida e eficiente de aprender.]
fonte