C# – Instanciando uma coleção IQueryable no LINQ

A imagem não tem muito contexto, mas achei ela bonita
Imagem de efeito

Mais uma daquelas que vale pela simplicidade.

Nunca precisei muito fazer questão de instanciar uma coleção usando LINQ e Entity Framework. Normalmente até criava as instâncias sem especificar o tipo, usando var mesmo.

Bem, isso se resolvia quando você não precisa fazer muita coisa com a variável de retorno, ou quando fazia a atribuição direta, vindo da query LINQ. Mas, e quando não dá para fazer a atribuição? Você pergunta, pra quê instanciar? Eu respondo: tem horas que é necessário, por exemplo, quando hoje precisei criar uma coleção em memória sem conectá-la diretamente ao contexto, que seria serializada mais tarde (em JSON). E como a resposta seria para uma aplicacação front-end, null não é a melhor opção.

Como instanciar um IQueryable? Simples:

IQueryable listData = Enumerable.Empty<T>().AsQueryable()

Funcionou perfeitamente! Na serialização, o resultado era uma coleção vazia (“listData”: []).

Simples e economizou um buzilhão de ifs, new List e muitos níveis de complexidade ciclomática.

Fonte: http://stackoverflow.com/a/29430798/1209721

Bom proveito!

Comentários

comentários