Queryable.AsQueryable Metoda

Definicja

Przeciążenia

AsQueryable(IEnumerable)

Konwertuje IEnumerable do IQueryable .Converts an IEnumerable to an IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

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

AsQueryable(IEnumerable)

Konwertuje IEnumerable do 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

IQueryableReprezentuje 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.

source to 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 wartość, IQueryable<T> która wykonuje zapytania, wywołując równoważne metody operatora zapytania 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 tego samego T .At runtime, the result is of type IQueryable<T> for the same T. Ta metoda jest przydatna w scenariuszach dynamicznych, jeśli nie znasz statycznie typu T .This method is useful in dynamic scenarios when you do not statically know the type of T.

Dotyczy

AsQueryable<TElement>(IEnumerable<TElement>)

Konwertuje ogólny IEnumerable<T> na rodzajowy 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 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>Reprezentuje sekwencję wejściową.An IQueryable<T> that represents the input sequence.

Wyjątki

source to null.source is null.

Przykłady

Poniższy przykład kodu pokazuje, jak używać AsQueryable<TElement>(IEnumerable<TElement>) do konwersji IEnumerable<T> do 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 wartość, IQueryable<T> która wykonuje zapytania, wywołując równoważne metody operatora zapytania 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