Antworten:
Vielleicht:
Enumerable.Empty<T>().AsQueryable();
Union
Abfragen in mehrere Abfragen anstatt in eine aufgeteilt werden.
Versuchen return new T[0].AsQueryable();
Angenommen, Sie haben einen IQueryable<T>
Anruf result
:
return result.Take(0);
Ich würde von der Antwort von alejandrobog abraten, da dies immer noch Speicher verwendet, um ein leeres Array zu erstellen.
Array.Empty<T>().AsQueryable();
oder
Enumerable.Empty<T>().AsQueryable();
sind bevorzugt. Array.Empty weist ein statisch typisiertes Array zu, sodass nur ein leeres Array von T erstellt wird, das von allen leeren abfragbaren Dateien gemeinsam genutzt wird.
Array.Empty<T>
ist nur nach .NET Framework 4.6 verfügbar. Für frühere Versionen können Sienew object[0].Cast<T>()