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!