Ответы:
Может быть:
Enumerable.Empty<T>().AsQueryable();
Union
запросы разбиваются на несколько запросов вместо одного.
Enumerable.Empty<T>().AsQueryable();
должен это сделать.
Пытаться return new T[0].AsQueryable();
Допустим, у вас есть IQueryable<T>
звонок result
:
return result.Take(0);
Я бы посоветовал отказаться от ответа alejandrobog, поскольку он все равно будет использовать память для создания пустого массива.
Array.Empty<T>().AsQueryable();
или
Enumerable.Empty<T>().AsQueryable();
являются предпочтительными. Array.Empty выделит статический типизированный массив, поэтому будет создан только один пустой массив T, который будет использоваться всеми пустыми запросами.
Array.Empty<T>
доступен только после .NET Framework 4.6. Для более ранних версий можно использоватьnew object[0].Cast<T>()