ObjectQuery<T> Klasa

Definicja

Reprezentuje typ zapytania względem modelu koncepcyjnego w danym kontekście obiektu.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)

Parametry typu

T

Typ jednostki zapytania.The entity type of the query.

Dziedziczenie
ObjectQuery<T>
Pochodne
Implementuje

Przykłady

Przykład w tym temacie jest oparty na modelu sprzedaży AdventureWorks.The example in this topic is based on the AdventureWorks Sales Model.

W przykładzie pokazano, jak utworzyć wystąpienie ObjectQuery<T> klasy.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

Uwagi

Klasa ObjectQuery<T> generyczna reprezentuje zapytanie, które zwraca kolekcję zawierającą zero lub więcej obiektów określonego typu.The ObjectQuery<T> generic class represents a query that returns a collection of zero or more objects of a specific type. Aby ObjectContext można było wykonać zapytanie obiektu, musi ono być zdefiniowane.The ObjectContext must be defined before an object query can be executed. Ten kontekst zapewnia informacje o połączeniu i metadanych, które są wymagane do tworzenia i wykonywania zapytania.This context provides the connection and metadata information that is required to compose and execute the query. Zapytanie obiektu jest wykonywane w następujących scenariuszach:An object query is executed in the following scenarios:

  • Gdy jest ona podejmowana, na przykład podczas foreach wyliczania (C#) For Each lub (Visual Basic).When it is acted upon, such as during a foreach (C#) or For Each (Visual Basic) enumeration.

  • Gdy jest przypisany do wypełnienia List<T> kolekcji.When it is assigned to fill a List<T> collection.

  • Execute Gdy metoda jest jawnie wywoływana.When the Execute method is explicitly called.

Zapytanie można utworzyć przy użyciu Entity SQLEntity SQL instrukcji lub zapytania LINQ lub można je przyrostowo skompilować przy użyciu metod konstruktora zapytań zawartych w klasie.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. W każdym przypadku wynik jest nowym ObjectQuery<T> wystąpieniem, które po jawnym wykonaniu lub wyliczeniu, wyśle zapytanie do źródła danych w celu wykonania i zwróci wyniki.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.

Jest często typem jednostki, ale może DbDataRecord być również typu dla projekcji do typu anonimowego lub typu pierwotnego, takiego jak liczba całkowita lub ciąg. ObjectQuery<T>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. Aby uzyskać więcej informacji, zobacz zapytania dotyczące obiektów.For more information, see Object Queries.

Konstruktory

ObjectQuery<T>(String, ObjectContext)

Tworzy nowe ObjectQuery<T> wystąpienie przy użyciu określonego Entity SQLEntity SQL polecenia jako wstępnego zapytania.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query.

ObjectQuery<T>(String, ObjectContext, MergeOption)

Tworzy nowe ObjectQuery<T> wystąpienie przy użyciu określonego Entity SQLEntity SQL polecenia jako wstępnego zapytania i określonej opcji scalania.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query and the specified merge option.

Właściwości

CommandText

Zwraca tekst polecenia dla zapytania.Returns the command text for the query.

(Odziedziczone po ObjectQuery)
Context

Pobiera kontekst obiektu skojarzony z tym zapytaniem obiektu.Gets the object context associated with this object query.

(Odziedziczone po ObjectQuery)
EnablePlanCaching

Pobiera lub ustawia wartość wskazującą, czy plan zapytania ma być buforowany.Gets or sets a value that indicates whether the query plan should be cached.

(Odziedziczone po ObjectQuery)
MergeOption

Pobiera lub ustawia sposób, w jaki obiekty zwracane z zapytania są dodawane do kontekstu obiektu.Gets or sets how objects returned from a query are added to the object context.

(Odziedziczone po ObjectQuery)
Name

Pobiera lub ustawia nazwę tego zapytania obiektu.Gets or sets the name of this object query.

Parameters

Pobiera kolekcję parametrów dla tego zapytania obiektu.Gets the parameter collection for this object query.

(Odziedziczone po ObjectQuery)

Metody

Distinct()

Ogranicza zapytanie do unikatowych wyników.Limits the query to unique results.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Except(ObjectQuery<T>)

Ogranicza wyniki zapytania, wykluczając wyniki w oparciu o wyniki zapytania innego obiektu.Limits the query results by excluding results based on the results of another object query.

Execute(MergeOption)

Wykonuje kwerendę obiektu z określoną opcją scalania.Executes the object query with the specified merge option.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetResultType()

Zwraca informacje o typie wyniku zapytania.Returns information about the result type of the query.

(Odziedziczone po ObjectQuery)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
GroupBy(String, String, ObjectParameter[])

Grupuje wyniki zapytania według określonych kryteriów.Groups the query results by the specified criteria.

Include(String)

Określa obiekty pokrewne do uwzględnienia w wynikach zapytania.Specifies the related objects to include in the query results.

Intersect(ObjectQuery<T>)

Ogranicza wyniki zapytania przez uwzględnienie tylko wyników istniejących w kwerendzie innego obiektu.Limits the query results by including only the results that exist in another object query.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OfType<TResultType>()

Ogranicza zapytanie tylko do wyników określonego typu.Limits the query to only results of a specific type.

OrderBy(String, ObjectParameter[])

Porządkuje wyniki zapytania według określonych kryteriów.Orders the query results by the specified criteria.

Select(String, ObjectParameter[])

Ogranicza wyniki zapytania tylko do właściwości, które są zdefiniowane w określonym projekcji.Limits the query results to only the properties that are defined in the specified projection.

SelectValue<TResultType>(String, ObjectParameter[])

Ogranicza wyniki zapytania tylko do właściwości określonej w projekcji.Limits the query results to only the property specified in the projection.

Skip(String, String, ObjectParameter[])

Porządkuje wyniki zapytania według określonych kryteriów i pomija określoną liczbę wyników.Orders the query results by the specified criteria and skips a specified number of results.

Top(String, ObjectParameter[])

Ogranicza wyniki zapytania do określonej liczby elementów.Limits the query results to a specified number of items.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
ToTraceString()

Zwraca polecenia do wykonania względem źródła danych.Returns the commands to execute against the data source.

(Odziedziczone po ObjectQuery)
Union(ObjectQuery<T>)

Łączy wyniki zapytania z wynikami zapytania innego obiektu, bez żadnych duplikatów.Combines the results of the query with the results of another object query, without any duplicates.

UnionAll(ObjectQuery<T>)

Łączy wyniki zapytania z wynikami zapytania innego obiektu, w tym wszystkie duplikaty.Combines the results of the query with the results of another object query, including all duplicates.

Where(String, ObjectParameter[])

Ogranicza zapytanie do wyników, które pasują do określonych kryteriów filtrowania.Limits the query to results that match specified filtering criteria.

Jawne implementacje interfejsu

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through a collection.

(Odziedziczone po ObjectQuery)
IEnumerable<T>.GetEnumerator()

Zwraca moduł wyliczający, który wykonuje iterację w wyniku zapytania.Returns an enumerator that iterates through the results of the query.

IListSource.ContainsListCollection

Pobiera wartość wskazującą, czy kolekcja zwrócona przez zapytanie zawiera obiekty kolekcji.Gets a value that indicates whether the collection returned by the query contains collection objects.

(Odziedziczone po ObjectQuery)
IListSource.GetList()

Zwraca kolekcję jako IList użytą do powiązania danych.Returns the collection as an IList used for data binding.

(Odziedziczone po ObjectQuery)
IQueryable.ElementType

Pobiera typ elementu wynikowego dla tego wystąpienia zapytania.Gets the result element type for this query instance.

(Odziedziczone po ObjectQuery)
IQueryable.Expression

Pobiera wyrażenie opisujące to zapytanie.Gets the expression describing this query.

(Odziedziczone po ObjectQuery)
IQueryable.Provider

Pobiera LINQ IQueryProvider skojarzone z tym wystąpieniem zapytania.Gets the LINQ IQueryProvider associated with this query instance.

(Odziedziczone po ObjectQuery)

Metody rozszerzania

CopyToDataTable<T>(IEnumerable<T>)

Zwraca DataTable, który zawiera kopie obiektów DataRow, przy użyciu obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.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)

Kopiuje DataRow obiektów do określonego DataTable, używając obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.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)

Kopiuje DataRow obiektów do określonego DataTable, używając obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

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

Cast<TResult>(IQueryable)

Konwertuje elementy IQueryable określonego typu.Converts the elements of an IQueryable to the specified type.

OfType<TResult>(IQueryable)

Filtruje elementy IQueryable w oparciu o określony typ.Filters the elements of an IQueryable based on a specified type.

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

Określa kolejność sortowania.Specifies a sort order.

Ancestors<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a collection of elements that contains the ancestors of every node in the source collection.

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

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

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

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Zwraca kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of the child elements of every element and document in the source collection.

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

Zwraca filtrowaną kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of the child elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Zwraca kolekcję węzłów, która zawiera wszystkie węzły w kolekcji źródłowej, posortowane w kolejności dokumentu.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Usuwa każdy węzeł w kolekcji źródłowej z węzła nadrzędnego.Removes every node in the source collection from its parent node.

Dotyczy

Zobacz też