Queryable.AsQueryable Metódus

Definíció

Túlterhelések

Name Description
AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Általánossá alakít át egy általánost IEnumerable<T>IQueryable<T>.

AsQueryable(IEnumerable)

Forrás:
Queryable.cs
Forrás:
Queryable.cs
Forrás:
Queryable.cs
Forrás:
Queryable.cs
Forrás:
Queryable.cs

Átalakítja az egyiket IEnumerableIQueryable.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating in-memory collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")]
public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")]
public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source);
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating in-memory collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")>]
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")>]
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")>]
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
<Extension()>
Public Function AsQueryable (source As IEnumerable) As IQueryable

Paraméterek

source
IEnumerable

Átalakítandó sorozat.

Válaszok

A IQueryable bemeneti sorozatot jelképező érték.

Attribútumok

Kivételek

source nem implementál IEnumerable<T> bizonyos T.

source az null.

Megjegyzések

Ha a implementálás típusa sourceIQueryable<T>, AsQueryable(IEnumerable) azt közvetlenül adja vissza. Ellenkező esetben olyan lekérdezést ad IQueryable<T> vissza, amely az egyenértékű lekérdezési operátor metódusainak meghívásával hajtja végre a lekérdezéseket ahelyett, hogy a függvényben Enumerable lévőket hívna meg Queryable.

Ez a módszer azt feltételezi, hogy source néhányhoz IEnumerable<T>implementálT. Futásidőben az eredmény típusa IQueryable<T> ugyanaz T. Ez a módszer akkor hasznos dinamikus forgatókönyvekben, ha nem ismeri statikusan a típust T.

A következőre érvényes:

AsQueryable<TElement>(IEnumerable<TElement>)

Forrás:
Queryable.cs
Forrás:
Queryable.cs
Forrás:
Queryable.cs
Forrás:
Queryable.cs
Forrás:
Queryable.cs

Általánossá alakít át egy általánost IEnumerable<T>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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating in-memory collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")]
public static System.Linq.IQueryable<TElement> AsQueryable<TElement>(this System.Collections.Generic.IEnumerable<TElement> source);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")]
public static System.Linq.IQueryable<TElement> AsQueryable<TElement>(this System.Collections.Generic.IEnumerable<TElement> source);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static System.Linq.IQueryable<TElement> AsQueryable<TElement>(this System.Collections.Generic.IEnumerable<TElement> source);
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating in-memory collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")>]
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")>]
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Enumerating in-memory collections as IQueryable can require unreferenced code because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods. The IEnumerable extension methods could be trimmed causing the application to fail at runtime.")>]
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
<Extension()>
Public Function AsQueryable(Of TElement) (source As IEnumerable(Of TElement)) As IQueryable(Of TElement)

Típusparaméterek

TElement

A . elemeinek sourcetípusa.

Paraméterek

source
IEnumerable<TElement>

Átalakítandó sorozat.

Válaszok

IQueryable<TElement>

A IQueryable<T> bemeneti sorozatot jelképező érték.

Attribútumok

Kivételek

source az null.

Példák

Az alábbi példakód bemutatja, hogyan konvertálható AsQueryable<TElement>(IEnumerable<TElement>) egy IEnumerable<T>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

Megjegyzések

Ha a implementálás típusa sourceIQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) azt közvetlenül adja vissza. Ellenkező esetben olyan lekérdezést ad IQueryable<T> vissza, amely az egyenértékű lekérdezési operátor metódusainak meghívásával hajtja végre a lekérdezéseket ahelyett, hogy a függvényben Enumerable lévőket hívna meg Queryable.

A következőre érvényes: