Queryable.AsQueryable Method

Definition

Overloads

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

Parameters

source
IEnumerable

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

Returns

IQueryable

IQueryable reprezentující vstupní sekvenci.An IQueryable that represents the input sequence.

Exceptions

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

source je null.source is null.

Remarks

Pokud typ source implementuje IQueryable<T>, AsQueryable(IEnumerable) ho přímo vrátí.If the type of source implements IQueryable<T>, AsQueryable(IEnumerable) returns it directly. V opačném případě vrátí IQueryable<T>, který spustí dotazy voláním ekvivalentních metod operátoru dotazu v Enumerable namísto těch, které jsou 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 implementuje IEnumerable<T> pro některé T.This method assumes that source implements IEnumerable<T> for some T. Za běhu je výsledek typu IQueryable<T> pro stejný 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 nechcete staticky znát typ T.This method is useful in dynamic scenarios when you do not statically know the type of T.

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)

Type Parameters

TElement

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

Parameters

source
IEnumerable<TElement>

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

Returns

IQueryable<TElement>

IQueryable<T> reprezentující vstupní sekvenci.An IQueryable<T> that represents the input sequence.

Exceptions

source je null.source is null.

Examples

Následující příklad kódu ukazuje, jak použít AsQueryable<TElement>(IEnumerable<TElement>) k převedení 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

Remarks

Pokud typ source implementuje IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) ho přímo vrátí.If the type of source implements IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) returns it directly. V opačném případě vrátí IQueryable<T>, který spustí dotazy voláním ekvivalentních metod operátoru dotazu v Enumerable namísto těch, které jsou 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.

Applies to