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

Definición

Representa una consulta con tipo en un modelo conceptual en un contexto de objeto determinado.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)

Parámetros de tipo

T

Tipo de entidad de la consulta.The entity type of the query.

Herencia
ObjectQuery<T>ObjectQuery<T>ObjectQuery<T>ObjectQuery<T>
Derivado
Implementaciones

Ejemplos

El ejemplo de este tema se basa en el modelo AdventureWorks Sales.The example in this topic is based on the AdventureWorks Sales Model.

En el ejemplo se muestra cómo construir una instancia de la clase 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

Comentarios

La clase genérica ObjectQuery<T> representa una consulta que devuelve una colección de cero o más objetos de un tipo determinado.The ObjectQuery<T> generic class represents a query that returns a collection of zero or more objects of a specific type. El ObjectContext debe estar definido antes de la ejecución de una consulta de objeto.The ObjectContext must be defined before an object query can be executed. Este contexto proporciona la información de metadatos y de conexión necesaria para crear y ejecutar la consulta.This context provides the connection and metadata information that is required to compose and execute the query. Una consulta de objeto se ejecuta en los escenarios siguientes:An object query is executed in the following scenarios:

  • Cuando se actúa sobre ella; por ejemplo, durante una enumeración foreach (C#) o For Each (Visual Basic).When it is acted upon, such as during a foreach (C#) or For Each (Visual Basic) enumeration.

  • Cuando se asigna para rellenar una colección List<T>.When it is assigned to fill a List<T> collection.

  • Cuando se llama explícitamente al método Execute.When the Execute method is explicitly called.

La consulta en sí se puede crear usando una instrucción Entity SQLEntity SQL o una consulta LINQ, o puede generarse incrementalmente mediante los métodos del generador de consultas incluidos en la clase.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. En cualquier caso, el resultado es una nueva instancia de ObjectQuery<T> que, cuando se ejecute o se enumere explícitamente, enviará la consulta al origen de datos para su ejecución y devolverá los resultados.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.

Una ObjectQuery<T> suele ser de un tipo de entidad, pero también puede ser del tipo DbDataRecord, para las proyecciones a un tipo anónimo, o de un tipo primitivo, como un entero o una cadena.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. Para obtener más información, vea consultas de objeto.For more information, see Object Queries.

Constructores

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

Crea una nueva instancia de ObjectQuery<T> usando el comando Entity SQLEntity SQL especificado como consulta inicial.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)

Crea una nueva instancia de ObjectQuery<T> usando el comando Entity SQLEntity SQL especificado como consulta inicial y la opción de combinación especificada.Creates a new ObjectQuery<T> instance using the specified Entity SQLEntity SQL command as the initial query and the specified merge option.

Propiedades

CommandText CommandText CommandText CommandText

Devuelve el texto de comando para la consulta.Returns the command text for the query.

(Inherited from ObjectQuery)
Context Context Context Context

Obtiene el contexto del objeto asociado con esta consulta de objeto.Gets the object context associated with this object query.

(Inherited from ObjectQuery)
EnablePlanCaching EnablePlanCaching EnablePlanCaching EnablePlanCaching

Obtiene o establece un valor que indica si se debe guardar en caché el plan de consulta.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

Obtiene un valor que indica si la colección devuelta por la consulta contiene objetos de colección.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

Obtiene el tipo de elemento de resultado para esta instancia de consulta.Gets the result element type for this query instance.

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

Obtiene la expresión que describe esta consulta.Gets the expression describing this query.

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

Obtiene el IQueryProvider de LINQ asociado con esta instancia de consulta.Gets the LINQ IQueryProvider associated with this query instance.

(Inherited from ObjectQuery)
MergeOption MergeOption MergeOption MergeOption

Obtiene o establece el modo en que los objetos devueltos por una consulta se agregan al contexto del objeto.Gets or sets how objects returned from a query are added to the object context.

(Inherited from ObjectQuery)
Name Name Name Name

Obtiene o establece el nombre de esta consulta de objeto.Gets or sets the name of this object query.

Parameters Parameters Parameters Parameters

Obtiene la colección de parámetros para esta consulta de objeto.Gets the parameter collection for this object query.

(Inherited from ObjectQuery)

Métodos

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

Limita la consulta a los resultados únicos.Limits the query to unique results.

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

Determina si el objeto especificado es igual al objeto actual.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>)

Limita los resultados de la consulta excluyendo resultados basándose en los resultados de otra consulta de objeto.Limits the query results by excluding results based on the results of another object query.

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

Ejecuta la consulta de objeto con la opción de combinación especificada.Executes the object query with the specified merge option.

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

Sirve como la función hash predeterminada.Serves as the default hash function.

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

Devuelve información sobre el tipo de resultado de la consulta.Returns information about the result type of the query.

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

Obtiene el Type de la instancia actual.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[])

Agrupa los resultados de la consulta de acuerdo con los criterios especificados.Groups the query results by the specified criteria.

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

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.Specifies the related objects to include in the query results.

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

Limita los resultados de la consulta incluyendo solo los resultados existentes en otra consulta de objeto.Limits the query results by including only the results that exist in another object query.

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

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Limita la consulta a los resultados de un tipo determinado.Limits the query to only results of a specific type.

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

Ordena los resultados de la consulta de acuerdo con los criterios especificados.Orders the query results by the specified criteria.

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

Limita los resultados de la consulta a las propiedades definidas en la proyección especificada.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[])

Limita los resultados de la consulta a la propiedad especificada en la proyección.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[])

Ordena los resultados de la consulta según los criterios especificados y omite un número especificado de resultados.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[])

Limita los resultados de la consulta al número de elementos especificado.Limits the query results to a specified number of items.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

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

Devuelve los comandos que hay que ejecutar en el origen de datos.Returns the commands to execute against the data source.

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

Combina los resultados de la consulta con los resultados de otra consulta de objeto, pero sin duplicados.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>)

Combina los resultados de la consulta con los resultados de otra consulta de objeto, incluyendo todos los duplicados.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[])

Limita la consulta a los resultados que coinciden con los criterios de filtrado especificados.Limits the query to results that match specified filtering criteria.

Implementaciones de interfaz explícitas

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

Devuelve un enumerador que recorre en iteración una colección.Returns an enumerator that iterates through a collection.

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

Devuelve un enumerador que itera por los resultados de la consulta.Returns an enumerator that iterates through the results of the query.

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

Devuelve la colección como una interfaz IList usada para el enlace de datos.Returns the collection as an IList used for data binding.

(Inherited from ObjectQuery)

Métodos de extensión

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

Devuelve un objeto DataTable que contiene copias de los objetos DataRow, dado un objeto IEnumerable<T> de entrada donde el parámetro T genérico es 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)

Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro T genérico es 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)

Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro T genérico es 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)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

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

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

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

Habilita la paralelización de una consulta.Enables parallelization of a query.

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

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

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

Convierte los elementos de IQueryable en el tipo especificado.Converts the elements of an IQueryable to the specified type.

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

Filtra los elementos de IQueryable en función de un tipo especificado.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)

Especifica un criterio de ordenación.Specifies a sort order.

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

Devuelve una colección de elementos que contiene los antecesores de todos los nodos de la colección de origen.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)

Devuelve una colección de elementos filtrada que contiene los antecesores de todos los nodos de la colección de origen.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.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>)

Devuelve una colección de los nodos descendientes de todos los documentos y elementos de la colección de origen.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>)

Devuelve una colección de elementos que contiene los elementos descendientes de todos los elementos y documentos de la colección de origen.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)

Devuelve una colección filtrada de elementos que contiene los elementos descendientes de todos los elementos y documentos de la colección de origen.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.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>)

Devuelve una colección de los elementos secundarios de todos los elementos y documentos de la colección de origen.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)

Devuelve una colección filtrada de los elementos secundarios de todos los elementos y documentos de la colección de origen.Returns a filtered collection of the child elements of every element and document in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.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>)

Devuelve una colección de nodos que contiene todos los nodos de la colección de origen, clasificados por documento.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>)

Devuelve una colección de los nodos secundarios de todos los documentos y elementos de la colección de origen.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>)

Quita todos los nodos de la colección de origen de su nodo primario.Removes every node in the source collection from its parent node.

Se aplica a

Consulte también: