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