IQueryable Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje funkce pro vyhodnocení dotazů na konkrétní zdroj dat, kde typ dat není určen.
public interface class IQueryable : System::Collections::IEnumerable
public interface IQueryable : System.Collections.IEnumerable
type IQueryable = interface
interface IEnumerable
Public Interface IQueryable
Implements IEnumerable
- Odvozené
- Implementuje
Poznámky
Rozhraní IQueryable je určené pro implementaci poskytovateli dotazů. Má být implementováno pouze poskytovateli, kteří také implementují IQueryable<T>. Pokud zprostředkovatel také neimplementuje IQueryable<T>, nelze ve zdroji dat poskytovatele použít standardní operátory dotazu.
Rozhraní IQueryable zdědí IEnumerable rozhraní tak, aby pokud představuje dotaz, výsledky tohoto dotazu se dají vyčíslit. Výčet způsobí, že se spustí strom výrazu přidružený k objektu IQueryable . Definice "spuštění stromu výrazů" je specifická pro zprostředkovatele dotazu. Může například zahrnovat překlad stromu výrazů do příslušného dotazovacího jazyka pro podkladový zdroj dat. Dotazy, které nevrací výčtové výsledky, se provádějí při Execute zavolání metody.
Další informace o tom, jak vytvořit vlastního zprostředkovatele LINQ, najdete v tématu LINQ: Sestavení Zprostředkovatele IQueryable.
Vlastnosti
| Name | Description |
|---|---|
| ElementType |
Získá typ elementů, které jsou vráceny při strom výrazu asociovaný s touto instancí IQueryable je spuštěn. |
| Expression |
Získá strom výrazu, který je přidružen k instanci IQueryable. |
| Provider |
Získá zprostředkovatele dotazu, který je přidružen k tomuto zdroji dat. |
Metody
| Name | Description |
|---|---|
| GetEnumerator() |
Vrátí enumerátor, který iteruje kolekcí. (Zděděno od IEnumerable) |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| Cast<TResult>(IQueryable) |
Převede prvky zadaného IQueryable typu. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |
| OfType<TResult>(IQueryable) |
Filtruje prvky IQueryable na základě zadaného typu. |