Queryable.AsQueryable Metoda

Definice

Přetížení

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Převede obecný IEnumerable<T> na obecný IQueryable<T> .Converts a generic IEnumerable<T> to a generic IQueryable<T>.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable ^ AsQueryable(System::Collections::IEnumerable ^ source);
public static System.Linq.IQueryable AsQueryable (this System.Collections.IEnumerable source);
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
<Extension()>
Public Function AsQueryable (source As IEnumerable) As IQueryable

Parametry

source
IEnumerable

Sekvence, která se má převéstA sequence to convert.

Návraty

IQueryable

IQueryable, Který představuje vstupní sekvenci.An IQueryable that represents the input sequence.

Výjimky

source neimplementuje IEnumerable<T> pro některé T .source does not implement IEnumerable<T> for some T.

source je null.source is null.

Poznámky

Pokud typ source implementuje IQueryable<T> , AsQueryable(IEnumerable) vrátí ji přímo.If the type of source implements IQueryable<T>, AsQueryable(IEnumerable) returns it directly. V opačném případě vrátí hodnotu IQueryable<T> , která provede dotazy voláním ekvivalentních metod operátoru dotazu Enumerable namísto těch v Queryable .Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

Tato metoda předpokládá, že source pro některé z nich implementuje implementaci IEnumerable<T> T .This method assumes that source implements IEnumerable<T> for some T. Za běhu je výsledek IQueryable<T> stejného typu T .At runtime, the result is of type IQueryable<T> for the same T. Tato metoda je užitečná v dynamických scénářích, pokud není staticky znám typ T .This method is useful in dynamic scenarios when you do not statically know the type of T.

Platí pro

AsQueryable<TElement>(IEnumerable<TElement>)

Převede obecný IEnumerable<T> na obecný IQueryable<T> .Converts a generic IEnumerable<T> to a generic IQueryable<T>.

public:
generic <typename TElement>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TElement> ^ AsQueryable(System::Collections::Generic::IEnumerable<TElement> ^ source);
public static System.Linq.IQueryable<TElement> AsQueryable<TElement> (this System.Collections.Generic.IEnumerable<TElement> source);
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
<Extension()>
Public Function AsQueryable(Of TElement) (source As IEnumerable(Of TElement)) As IQueryable(Of TElement)

Parametry typu

TElement

Typ prvků source .The type of the elements of source.

Parametry

source
IEnumerable<TElement>

Sekvence, která se má převéstA sequence to convert.

Návraty

IQueryable<TElement>

IQueryable<T>, Který představuje vstupní sekvenci.An IQueryable<T> that represents the input sequence.

Výjimky

source je null.source is null.

Příklady

Následující příklad kódu ukazuje, jak použít AsQueryable<TElement>(IEnumerable<TElement>) pro převod IEnumerable<T> na IQueryable<T> .The following code example demonstrates how to use AsQueryable<TElement>(IEnumerable<TElement>) to convert an IEnumerable<T> to an IQueryable<T>.

List<int> grades = new List<int> { 78, 92, 100, 37, 81 };

// Convert the List to an IQueryable<int>.
IQueryable<int> iqueryable = grades.AsQueryable();

// Get the Expression property of the IQueryable object.
System.Linq.Expressions.Expression expressionTree =
    iqueryable.Expression;

Console.WriteLine("The NodeType of the expression tree is: "
    + expressionTree.NodeType.ToString());
Console.WriteLine("The Type of the expression tree is: "
    + expressionTree.Type.Name);

/*
    This code produces the following output:

    The NodeType of the expression tree is: Constant
    The Type of the expression tree is: EnumerableQuery`1
*/
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})

' Convert the List to an IQueryable<int>.
Dim iqueryable As IQueryable(Of Integer) = grades.AsQueryable()

' Get the Expression property of the IQueryable object.
Dim expressionTree As System.Linq.Expressions.Expression = _
    iqueryable.Expression

MsgBox("The NodeType of the expression tree is: " _
    & expressionTree.NodeType.ToString())
MsgBox("The Type of the expression tree is: " _
    & expressionTree.Type.Name)

' This code produces the following output:
'
' The NodeType of the expression tree is: Constant
' The Type of the expression tree is: EnumerableQuery`1

Poznámky

Pokud typ source implementuje IQueryable<T> , AsQueryable<TElement>(IEnumerable<TElement>) vrátí ji přímo.If the type of source implements IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) returns it directly. V opačném případě vrátí hodnotu IQueryable<T> , která provede dotazy voláním ekvivalentních metod operátoru dotazu Enumerable namísto těch v Queryable .Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

Platí pro