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

Définition

Représente une requête typée par rapport à un modèle conceptuel dans un contexte d’objet donné.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)

Paramètres de type

T

Type d'entité de la requête.The entity type of the query.

Héritage
ObjectQuery<T>ObjectQuery<T>ObjectQuery<T>ObjectQuery<T>
Dérivé
Implémente

Exemples

L’exemple de cette rubrique est basé sur le modèle de vente AdventureWorks Sales Model.The example in this topic is based on the AdventureWorks Sales Model.

L'exemple montre comment construire une instance de la classe ObjectQuery<T>.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

Remarques

La classe générique ObjectQuery<T> représente une requête qui retourne une collection de zéro ou plusieurs objets d’un type spécifique.The ObjectQuery<T> generic class represents a query that returns a collection of zero or more objects of a specific type. L'objet ObjectContext doit être défini avant qu'une requête d'objet puisse être exécutée.The ObjectContext must be defined before an object query can be executed. Ce contexte fournit les informations relatives à la connexion et aux métadonnées qui sont requises pour composer et exécuter la requête.This context provides the connection and metadata information that is required to compose and execute the query. Une requête d'objet est exécutée dans les scénarios suivants :An object query is executed in the following scenarios:

  • Lorsqu'une action est réalisée sur celle-ci, comme au cours d'une énumération foreach (en C#) ou For Each (en Visual Basic).When it is acted upon, such as during a foreach (C#) or For Each (Visual Basic) enumeration.

  • Lorsqu’elle est assignée pour remplir une collection List<T>.When it is assigned to fill a List<T> collection.

  • Lorsque la méthode Execute est explicitement appelée.When the Execute method is explicitly called.

La requête elle-même peut être créée en utilisant une instruction Entity SQLEntity SQL ou une requête LINQ, ou elle peut être construite de façon incrémentielle en utilisant les méthodes de générateur de requêtes incluses dans la classe.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. Dans tous les cas, le résultat est une nouvelle instance ObjectQuery<T> qui, en cas d'énumération ou d'exécution explicite, envoie la requête vers la source de données pour exécution et retourne les résultats.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.

Un objet ObjectQuery<T> est fréquemment d'un type d'entité, mais il peut également être de type DbDataRecord, pour les projections vers un type anonyme, ou d'un type primitif, tel qu'un entier ou une chaîne.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. Pour plus d’informations, consultez requêtes d’objet.For more information, see Object Queries.

Constructeurs

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

Crée une nouvelle instance ObjectQuery<T> avec la commande Entity SQLEntity SQL spécifiée comme requête initiale.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)

Crée une nouvelle instance ObjectQuery<T> avec la commande Entity SQLEntity SQL spécifiée comme requête initiale et l'option de fusion spécifiée.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query and the specified merge option.

Propriétés

CommandText CommandText CommandText CommandText

Retourne le texte de commande de la requête.Returns the command text for the query.

(Inherited from ObjectQuery)
Context Context Context Context

Obtient l'objet de contexte associé à cette requête d'objet.Gets the object context associated with this object query.

(Inherited from ObjectQuery)
EnablePlanCaching EnablePlanCaching EnablePlanCaching EnablePlanCaching

Obtient ou définit une valeur qui indique si le plan de requête doit être mis en cache.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

Obtient une valeur qui indique si la collection retournée par la requête contient des objets de collection.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

Obtient le type d'élément de résultat pour cette instance de requête.Gets the result element type for this query instance.

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

Obtient l'expression décrivant cette requête.Gets the expression describing this query.

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

Obtient l'objet IQueryProvider LINQ associé à cette instance de requête.Gets the LINQ IQueryProvider associated with this query instance.

(Inherited from ObjectQuery)
MergeOption MergeOption MergeOption MergeOption

Obtient ou définit la manière dont les objets retournés par une requête sont ajoutés au contexte de l'objet.Gets or sets how objects returned from a query are added to the object context.

(Inherited from ObjectQuery)
Name Name Name Name

Obtient ou définit le nom de la requête d'objet.Gets or sets the name of this object query.

Parameters Parameters Parameters Parameters

Obtient la collection de paramètres pour cette requête d’objet.Gets the parameter collection for this object query.

(Inherited from ObjectQuery)

Méthodes

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

Limite la requête aux résultats uniques.Limits the query to unique results.

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

Détermine si l'objet spécifié est identique à l'objet actuel.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>)

Limite les résultats de la requête en excluant les résultats basés sur les résultats d'une autre requête d'objet.Limits the query results by excluding results based on the results of another object query.

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

Exécute la requête d'objet avec l'option de fusion spécifiée.Executes the object query with the specified merge option.

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

Fait office de fonction de hachage par défaut.Serves as the default hash function.

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

Retourne des informations sur le type de résultat de la requête.Returns information about the result type of the query.

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

Obtient le Type de l'instance actuelle.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[])

Groupe les résultats de la requête en fonction des critères spécifiés.Groups the query results by the specified criteria.

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

Spécifie les objets connexes à inclure dans les résultats de la requête.Specifies the related objects to include in the query results.

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

Limite les résultats de la requête en incluant uniquement les résultats qui existent dans une autre requête d'objet.Limits the query results by including only the results that exist in another object query.

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

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

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

Limite la requête uniquement aux résultats d'un type spécifique.Limits the query to only results of a specific type.

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

Ordonne les résultats de la requête en fonction des critères spécifiés.Orders the query results by the specified criteria.

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

Limite les résultats de la requête uniquement aux propriétés définies dans la projection spécifiée.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[])

Limite les résultats de la requête uniquement à la propriété spécifiée dans la projection.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[])

Classe les résultats de la requête selon les critères spécifiés et ignore un nombre spécifié de résultats.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[])

Limite les résultats de la requête à un nombre d'éléments spécifié.Limits the query results to a specified number of items.

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

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

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

Retourne les commandes à exécuter sur la source de données.Returns the commands to execute against the data source.

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

Combine les résultats de la requête avec les résultats d'une autre requête d'objet, sans doublon.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>)

Combine les résultats de la requête avec les résultats d'une autre requête d'objet, y compris tous les doublons.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[])

Limite la requête aux résultats qui correspondent aux critères de filtrage spécifiés.Limits the query to results that match specified filtering criteria.

Implémentations d’interfaces explicites

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

Retourne un énumérateur qui itère au sein d’une collection.Returns an enumerator that iterates through a collection.

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

Retourne un énumérateur qui itère au sein des résultats de la requête.Returns an enumerator that iterates through the results of the query.

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

Retourne la collection sous la forme d'un objet IList utilisé pour la liaison de données.Returns the collection as an IList used for data binding.

(Inherited from ObjectQuery)

Méthodes d’extension

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

Retourne un DataTable qui contient des copies des objets DataRow, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est 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) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copie les objets DataRow vers le DataTable spécifié, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est 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) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copie les objets DataRow vers le DataTable spécifié, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.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)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

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

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

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

Active la parallélisation d'une requête.Enables parallelization of a query.

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

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

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

Convertit les éléments d’un objet IQueryable vers le type spécifié.Converts the elements of an IQueryable to the specified type.

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

Filtre les éléments d'un IQueryable en fonction du type spécifié.Filters 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)

Spécifie un ordre de tri.Specifies a sort order.

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

Retourne une collection d'éléments qui contient les ancêtres de chaque nœud de la collection source.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)

Retourne une collection d'éléments filtrée qui contient les ancêtres de chaque nœud de la collection source.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.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>)

Retourne une collection des nœuds descendants de chaque document et élément de la collection source.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>)

Retourne une collection d'éléments qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.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)

Retourne une collection d'éléments filtrée qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.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>)

Retourne une collection des éléments enfants de chaque élément et document de la collection source.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)

Retourne une collection filtrée des éléments enfants de chaque élément et document de la collection source.Returns a filtered collection of the child elements of every element and document in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.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>)

Retourne une collection de nœuds qui contient tous les nœuds de la collection source, triés selon l'ordre des documents.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>)

Retourne une collection des nœuds enfants de chaque document et élément de la collection source.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>)

Supprime chaque nœud de la collection source de son nœud parent.Removes every node in the source collection from its parent node.

S’applique à

Voir aussi