Queryable.AsQueryable Metoda

Definicja

Przeciążenia

AsQueryable(IEnumerable)

Konwertuje IEnumerable na IQueryable.Converts an IEnumerable to an IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Konwertuje ogólny IEnumerable<T> na IQueryable<T>ogólny.Converts a generic IEnumerable<T> to a generic IQueryable<T>.

AsQueryable(IEnumerable)

Konwertuje 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

Sekwencja do przekonwertowania.A sequence to convert.

Zwraca

IQueryable reprezentujący sekwencję wejściową.An IQueryable that represents the input sequence.

Wyjątki

source nie implementuje IEnumerable<T> dla niektórych T.source does not implement IEnumerable<T> for some T.

Parametr source ma wartość null.source is null.

Uwagi

Jeśli typ source implementuje IQueryable<T>, AsQueryable(IEnumerable) zwraca go bezpośrednio.If the type of source implements IQueryable<T>, AsQueryable(IEnumerable) returns it directly. W przeciwnym razie zwraca IQueryable<T>, które wykonuje zapytania, wywołując równoważne metody operatorów zapytań w Enumerable zamiast tych w Queryable.Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

W tej metodzie przyjęto założenie, że source implementuje IEnumerable<T> dla niektórych T.This method assumes that source implements IEnumerable<T> for some T. W czasie wykonywania wynik jest typu IQueryable<T> dla tej samej T.At runtime, the result is of type IQueryable<T> for the same T. Ta metoda jest przydatna w scenariuszach dynamicznych, gdy użytkownik nie zna statycznie typu T.This method is useful in dynamic scenarios when you do not statically know the type of T.

AsQueryable<TElement>(IEnumerable<TElement>)

Konwertuje ogólny IEnumerable<T> na IQueryable<T>ogólny.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 elementów source.The type of the elements of source.

Parametry

source
IEnumerable<TElement>

Sekwencja do przekonwertowania.A sequence to convert.

Zwraca

IQueryable<TElement>

IQueryable<T> reprezentujący sekwencję wejściową.An IQueryable<T> that represents the input sequence.

Wyjątki

Parametr source ma wartość null.source is null.

Przykłady

Poniższy przykład kodu demonstruje, jak używać AsQueryable<TElement>(IEnumerable<TElement>) do konwertowania 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

Uwagi

Jeśli typ source implementuje IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) zwraca go bezpośrednio.If the type of source implements IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) returns it directly. W przeciwnym razie zwraca IQueryable<T>, które wykonuje zapytania, wywołując równoważne metody operatorów zapytań w Enumerable zamiast tych w Queryable.Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

Dotyczy