Respostas:
Talvez:
Enumerable.Empty<T>().AsQueryable();
Union
consultas são divididas em várias consultas em vez de uma.
Experimentar return new T[0].AsQueryable();
Digamos que você tenha IQueryable<T>
chamado result
:
return result.Take(0);
Eu desaconselharia a resposta de alejandrobog, pois isso ainda usará memória para criar uma matriz vazia.
Array.Empty<T>().AsQueryable();
ou
Enumerable.Empty<T>().AsQueryable();
são preferidos. Array.Empty alocará uma matriz de tipo estático, para que apenas uma matriz vazia de T seja criada e compartilhada entre todas as consultas vazias.
Array.Empty<T>
está disponível apenas após o .NET Framework 4.6. Para versões anteriores, você pode usarnew object[0].Cast<T>()