Devo me preocupar com o caminho de atualização para LINQ (a linguagem de consulta)
-
03-07-2019 - |
Pergunta
Eu estou começando a usar LINQ como uma linguagem de consulta verdade no código para ajudar a melhorar a legibilidade. Até recentemente eu estava com medo de tocar LINQ por causa do LINQ a equipa movimento SQL sob a equipe Entity Framework (tentando ignorar essa conversa aqui) - vai LINQ a linguagem de consulta ser uma aposta segura daqui para frente (tanto quanto qualquer coisa neste rápido indústria móvel)?
Solução
Vale a pena distinguir entre "LINQ" e "um provedor LINQ especial". Eu acho que é seguro dizer que LINQ em si está aqui para ficar -. E é fenomenalmente úteis para o processamento coleção em processo via LINQ para objetos
Quanto à qual provedor LINQ vai "ganhar" (se houver) -. Que é uma aposta mais difícil de chamada
eu certamente aprender os fundamentos da própria embora LINQ -. E LINQ to XML é uma linda API XML bem
Outras dicas
Como Jon disse que é muito importante distinguir entre os prestadores de LINQ. Por exemplo
- LINQ a objetos: Isto é baseado fora de IEnumerable
e está tão arraigado na BCL que eu acho muito difícil isso está indo em qualquer lugar - LINQ to SQL: Eu não uso este quase tanto quanto eu faço LINQ, mas eu sei que ele tem uma boa seguinte e as pessoas parecem gostar.
Aviso: Eu trabalhei em LINQ por isso estou bastante tendenciosa aqui
.O que é realmente interessante sobre LINQ, o que eu acho que realmente tem direito, é que qualquer um pode escrever um provedor LINQ. Tudo o que é necessário é alguns métodos que podem ser ligadas do nome certo e de repente você tem consulta sintaxe.
var query = from it in someCollection select it.SomeProperty;
Eu posso escrever esta declaração sem utilizar qualquer do quadro 3.5. Eu tenho meu próprio provedor LINQ que trabalha contra o quadro 2.0 e é compatível com a sintaxe da consulta usado no compilador.
Eu pessoalmente mais magra em direção ao synatx método lambda / extensão, mas o código resultante não é realmente diferente.