ObjectQuery<T> ObjectQuery<T> ObjectQuery<T> ObjectQuery<T> Class

Definition

Stellt eine typisierte Abfrage für ein Konzeptmodell in einem gegebenen Objektkontext dar.Represents a typed query against a conceptual model in a given object context.

generic <typename T>
public ref class ObjectQuery : System::Data::Objects::ObjectQuery, System::Collections::Generic::IEnumerable<T>, System::ComponentModel::IListSource, System::Linq::IOrderedQueryable<T>, System::Linq::IQueryable<T>
public class ObjectQuery<T> : System.Data.Objects.ObjectQuery, System.Collections.Generic.IEnumerable<T>, System.ComponentModel.IListSource, System.Linq.IOrderedQueryable<T>, System.Linq.IQueryable<T>
type ObjectQuery<'T> = class
    inherit ObjectQuery
    interface seq<'T>
    interface IEnumerable
    interface IQueryable<'T>
    interface IQueryable
    interface IOrderedQueryable<'T>
    interface IOrderedQueryable
    interface IListSource
Public Class ObjectQuery(Of T)
Inherits ObjectQuery
Implements IEnumerable(Of T), IListSource, IOrderedQueryable(Of T), IQueryable(Of T)

Typparameter

T

Der Entitätstyp der Abfrage.The entity type of the query.

Vererbung
ObjectQuery<T>ObjectQuery<T>ObjectQuery<T>ObjectQuery<T>
Abgeleitet
Implementiert

Beispiele

Im Beispiel in diesem Thema basiert auf der AdventureWorks Sales-Modell.The example in this topic is based on the AdventureWorks Sales Model.

In dem Beispiel wird veranschaulicht, wie eine Instanz der ObjectQuery<T>-Klasse erstellt wird.The example shows how to construct an instance of the ObjectQuery<T> class.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Call the constructor with a query for products and the ObjectContext.
    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>("Products", context);

    foreach (Product result in productQuery1)
        Console.WriteLine("Product Name: {0}", result.Name);

    string queryString =
        @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

    // Call the constructor with the specified query and the ObjectContext.
    ObjectQuery<Product> productQuery2 =
        new ObjectQuery<Product>(queryString, context);

    foreach (Product result in productQuery2)
        Console.WriteLine("Product Name: {0}", result.Name);

    // Call the constructor with the specified query, the ObjectContext, 
    // and the NoTracking merge option.
    ObjectQuery<Product> productQuery3 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    foreach (Product result in productQuery3)
        Console.WriteLine("Product Name: {0}", result.Name);
}
Using context As New AdventureWorksEntities()
    ' Call the constructor with a query for products and the ObjectContext. 
    Dim productQuery1 As New ObjectQuery(Of Product)("Products", context)

    For Each result As Product In productQuery1
        Console.WriteLine("Product Name: {0}", result.Name)
    Next

    Dim queryString As String = "SELECT VALUE product FROM AdventureWorksEntities.Products AS product"

    ' Call the constructor with the specified query and the ObjectContext. 
    Dim productQuery2 As New ObjectQuery(Of Product)(queryString, context)

    For Each result As Product In productQuery2
        Console.WriteLine("Product Name: {0}", result.Name)
    Next

    ' Call the constructor with the specified query, the ObjectContext, 
    ' and the NoTracking merge option. 
    Dim productQuery3 As New ObjectQuery(Of Product)(queryString, context, MergeOption.NoTracking)

    For Each result As Product In productQuery3
        Console.WriteLine("Product Name: {0}", result.Name)
    Next
End Using

Hinweise

Die generische ObjectQuery<T>-Klasse stellt eine Abfrage dar, die eine Auflistung von null oder mehr Objekten eines bestimmten Typs zurückgibt.The ObjectQuery<T> generic class represents a query that returns a collection of zero or more objects of a specific type. Der ObjectContext muss definiert werden, bevor eine Objektabfrage ausgeführt werden kann.The ObjectContext must be defined before an object query can be executed. Dieser Kontext stellt die Verbindungs- und Metadateninformationen bereit, die zum Verfassen und Ausführen der Abfrage erforderlich sind.This context provides the connection and metadata information that is required to compose and execute the query. Eine Objektabfrage wird in den folgenden Szenarios ausgeführt:An object query is executed in the following scenarios:

  • Wenn eine Aktion darauf ausgeführt wird, z. B. während einer foreach- (C#) bzw. For Each-Enumeration (Visual Basic).When it is acted upon, such as during a foreach (C#) or For Each (Visual Basic) enumeration.

  • Wenn sie zum Füllen einer List<T>-Auflistung zugewiesen ist.When it is assigned to fill a List<T> collection.

  • Wenn die Execute-Methode explizit aufgerufen wird.When the Execute method is explicitly called.

Die Abfrage selbst kann mithilfe einer Entity SQLEntity SQL-Anweisung oder einer LINQ-Abfrage erstellt werden. Sie kann auch mithilfe der in der Klasse enthaltenen Abfrage-Generator-Methoden inkrementell erstellt werden.The query itself can be created by using an Entity SQLEntity SQL statement or a LINQ query, or it can be incrementally built by using the query builder methods included in the class. In jedem Fall ist das Ergebnis ein neuer ObjectQuery<T> Instanz, die, wenn Sie explizit ausgeführt oder durchlaufen, sendet die Abfrage an die Datenquelle für die Ausführung und die Ergebnisse zurückgeben.In every case, the result is a new ObjectQuery<T> instance that, when explicitly executed or enumerated over, will send the query to the data source for execution and return the results.

Eine ObjectQuery<T> weist häufig einen Entitätstyp auf, es kann sich jedoch auch um einen DbDataRecord-Typ bei Projektionen auf einen anonymen Typ oder um einen primitiven Typ wie eine Ganzzahl oder Zeichenfolge handeln.An ObjectQuery<T> is frequently of an entity type, but it can also be of DbDataRecord type, for projections to an anonymous type, or of a primitive type, such as an integer or string. Weitere Informationen finden Sie unter Objektabfragen.For more information, see Object Queries.

Konstruktoren

ObjectQuery<T>(String, ObjectContext) ObjectQuery<T>(String, ObjectContext) ObjectQuery<T>(String, ObjectContext) ObjectQuery<T>(String, ObjectContext)

Erstellt eine neue ObjectQuery<T>-Instanz mit dem angegebenen Entity SQLEntity SQL-Befehl als erste Abfrage.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query.

ObjectQuery<T>(String, ObjectContext, MergeOption) ObjectQuery<T>(String, ObjectContext, MergeOption) ObjectQuery<T>(String, ObjectContext, MergeOption) ObjectQuery<T>(String, ObjectContext, MergeOption)

Erstellt eine neue ObjectQuery<T>-Instanz mit dem angegebenen Entity SQLEntity SQL-Befehl als erste Abfrage und der angegebenen Zusammenführungsoption.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query and the specified merge option.

Eigenschaften

CommandText CommandText CommandText CommandText

Gibt den Befehlstext für die Abfrage zurück.Returns the command text for the query.

(Inherited from ObjectQuery)
Context Context Context Context

Ruft den dieser Objektabfrage zugeordneten Objektkontext ab.Gets the object context associated with this object query.

(Inherited from ObjectQuery)
EnablePlanCaching EnablePlanCaching EnablePlanCaching EnablePlanCaching

Ruft einen Wert ab, der angibt, ob der Abfrageplan zwischengespeichert werden soll, oder legt diesen fest.Gets or sets a value that indicates whether the query plan should be cached.

(Inherited from ObjectQuery)
IListSource.ContainsListCollection IListSource.ContainsListCollection IListSource.ContainsListCollection IListSource.ContainsListCollection

Ruft einen Wert ab, der angibt, ob die von der Abfrage zurückgegebene Auflistung Auflistungsobjekte enthält.Gets a value that indicates whether the collection returned by the query contains collection objects.

(Inherited from ObjectQuery)
IQueryable.ElementType IQueryable.ElementType IQueryable.ElementType IQueryable.ElementType

Ruft den Ergebniselementtyp für diese Abfrageinstanz ab.Gets the result element type for this query instance.

(Inherited from ObjectQuery)
IQueryable.Expression IQueryable.Expression IQueryable.Expression IQueryable.Expression

Ruft den Ausdruck ab, der diese Abfrage beschreibt.Gets the expression describing this query.

(Inherited from ObjectQuery)
IQueryable.Provider IQueryable.Provider IQueryable.Provider IQueryable.Provider

Ruft den LINQ-IQueryProvider ab, der dieser Abfrageinstanz zugeordnet ist.Gets the LINQ IQueryProvider associated with this query instance.

(Inherited from ObjectQuery)
MergeOption MergeOption MergeOption MergeOption

Ruft ab oder legt fest, wie dem Objektkontext von einer Abfrage zurückgegebene Objekte hinzugefügt werden.Gets or sets how objects returned from a query are added to the object context.

(Inherited from ObjectQuery)
Name Name Name Name

Ruft den Namen der Objektabfrage ab oder legt diesen fest.Gets or sets the name of this object query.

Parameters Parameters Parameters Parameters

Ruft die Parameterauflistung für diese Objektabfrage ab.Gets the parameter collection for this object query.

(Inherited from ObjectQuery)

Methoden

Distinct() Distinct() Distinct() Distinct()

Schränkt die Abfrage auf eindeutige Ergebnisse ein.Limits the query to unique results.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Except(ObjectQuery<T>) Except(ObjectQuery<T>) Except(ObjectQuery<T>) Except(ObjectQuery<T>)

Schränkt die Abfrageergebnisse ein, indem Ergebnisse aufgrund von Ergebnissen einer anderen Objektabfrage ausgeschlossen werden.Limits the query results by excluding results based on the results of another object query.

Execute(MergeOption) Execute(MergeOption) Execute(MergeOption) Execute(MergeOption)

Führt die Objektabfrage mit der angegebenen Zusammenführungsoption aus.Executes the object query with the specified merge option.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetResultType() GetResultType() GetResultType() GetResultType()

Gibt Informationen über den Ergebnistyp der Abfrage zurück.Returns information about the result type of the query.

(Inherited from ObjectQuery)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
GroupBy(String, String, ObjectParameter[]) GroupBy(String, String, ObjectParameter[]) GroupBy(String, String, ObjectParameter[]) GroupBy(String, String, ObjectParameter[])

Gruppiert die Abfrageergebnisse nach den angegebenen Kriterien.Groups the query results by the specified criteria.

Include(String) Include(String) Include(String) Include(String)

Gibt die verknüpften Objekte an, die in die Abfrageergebnisse eingeschlossen werden sollen.Specifies the related objects to include in the query results.

Intersect(ObjectQuery<T>) Intersect(ObjectQuery<T>) Intersect(ObjectQuery<T>) Intersect(ObjectQuery<T>)

Schränkt die Abfrageergebnisse ein, indem nur die Ergebnisse eingeschlossen werden, die in einer anderen Objektabfrage vorhanden sind.Limits the query results by including only the results that exist in another object query.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OfType<TResultType>() OfType<TResultType>() OfType<TResultType>() OfType<TResultType>()

Beschränkt die Abfrage auf Ergebnisse eines bestimmten Typs.Limits the query to only results of a specific type.

OrderBy(String, ObjectParameter[]) OrderBy(String, ObjectParameter[]) OrderBy(String, ObjectParameter[]) OrderBy(String, ObjectParameter[])

Ordnet die Abfrageergebnisse nach den angegebenen Kriterien.Orders the query results by the specified criteria.

Select(String, ObjectParameter[]) Select(String, ObjectParameter[]) Select(String, ObjectParameter[]) Select(String, ObjectParameter[])

Beschränkt die Abfrageergebnisse auf die Eigenschaften, die in der angegebenen Projektion definiert sind.Limits the query results to only the properties that are defined in the specified projection.

SelectValue<TResultType>(String, ObjectParameter[]) SelectValue<TResultType>(String, ObjectParameter[]) SelectValue<TResultType>(String, ObjectParameter[]) SelectValue<TResultType>(String, ObjectParameter[])

Beschränkt die Abfrageergebnisse auf die Eigenschaft, die in der Projektion angegeben ist.Limits the query results to only the property specified in the projection.

Skip(String, String, ObjectParameter[]) Skip(String, String, ObjectParameter[]) Skip(String, String, ObjectParameter[]) Skip(String, String, ObjectParameter[])

Ordnet die Abfrageergebnisse nach den angegebenen Kriterien und überspringt eine bestimmte Anzahl von Ergebnissen.Orders the query results by the specified criteria and skips a specified number of results.

Top(String, ObjectParameter[]) Top(String, ObjectParameter[]) Top(String, ObjectParameter[]) Top(String, ObjectParameter[])

Beschränkt die Abfrageergebnisse auf eine bestimmte Anzahl von Elementen.Limits the query results to a specified number of items.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
ToTraceString() ToTraceString() ToTraceString() ToTraceString()

Gibt die Befehle zurück, die für den Datenspeicher ausgeführt werden sollen.Returns the commands to execute against the data source.

(Inherited from ObjectQuery)
Union(ObjectQuery<T>) Union(ObjectQuery<T>) Union(ObjectQuery<T>) Union(ObjectQuery<T>)

Kombiniert die Ergebnisse der Abfrage mit den Ergebnissen einer anderen Objektabfrage ohne Duplikate.Combines the results of the query with the results of another object query, without any duplicates.

UnionAll(ObjectQuery<T>) UnionAll(ObjectQuery<T>) UnionAll(ObjectQuery<T>) UnionAll(ObjectQuery<T>)

Kombiniert die Ergebnisse der Abfrage mit den Ergebnissen einer anderen Objektabfrage einschließlich aller Duplikate.Combines the results of the query with the results of another object query, including all duplicates.

Where(String, ObjectParameter[]) Where(String, ObjectParameter[]) Where(String, ObjectParameter[]) Where(String, ObjectParameter[])

Beschränkt die Abfrage auf Ergebnisse, die bestimmten Filterkriterien entsprechen.Limits the query to results that match specified filtering criteria.

Explizite Schnittstellenimplementierungen

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.Returns an enumerator that iterates through a collection.

(Inherited from ObjectQuery)
IEnumerable<T>.GetEnumerator() IEnumerable<T>.GetEnumerator() IEnumerable<T>.GetEnumerator() IEnumerable<T>.GetEnumerator()

Gibt einen Enumerator zurück, der die Ergebnisse der Abfrage durchläuft.Returns an enumerator that iterates through the results of the query.

IListSource.GetList() IListSource.GetList() IListSource.GetList() IListSource.GetList()

Gibt die Auflistung als IList zurück, die für die Datenbindung verwendet wird.Returns the collection as an IList used for data binding.

(Inherited from ObjectQuery)

Erweiterungsmethoden

CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Gibt eine DataTable zurück, die Kopien der DataRow-Objekte enthält, wenn ein IEnumerable<T>-Eingabeobjekt vorhanden ist, bei dem der generische Parameter T den Wert DataRow hat.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Cast<TResult>(IQueryable) Cast<TResult>(IQueryable) Cast<TResult>(IQueryable) Cast<TResult>(IQueryable)

Konvertiert die Elemente einer IQueryable in den angegebenen Typ.Converts the elements of an IQueryable to the specified type.

OfType<TResult>(IQueryable) OfType<TResult>(IQueryable) OfType<TResult>(IQueryable) OfType<TResult>(IQueryable)

Filtert die Elemente eines IQueryable anhand eines angegebenen TypsFilters the elements of an IQueryable based on a specified type.

SortBy<T>(IQueryable<T>, String) SortBy<T>(IQueryable<T>, String) SortBy<T>(IQueryable<T>, String) SortBy<T>(IQueryable<T>, String)

Gibt die Sortierreihenfolge an.Specifies a sort order.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Gibt eine Auflistung der Nachfolgerknoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a filtered collection of the child elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Knoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

Gilt für:

Siehe auch