ObjectQuery<T> Clase

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>
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)

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)

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

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

(Heredado de ObjectQuery)
Context

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

(Heredado de ObjectQuery)
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.

(Heredado de ObjectQuery)
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.

(Heredado de ObjectQuery)
Name

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

Parameters

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

(Heredado de ObjectQuery)

Métodos

Distinct()

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

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
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)

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

GetHashCode()

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

(Heredado de Object)
GetResultType()

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

(Heredado de ObjectQuery)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
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)

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>)

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()

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

(Heredado de Object)
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[])

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

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[])

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[])

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[])

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

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
ToTraceString()

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

(Heredado de ObjectQuery)
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>)

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[])

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()

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

(Heredado de ObjectQuery)
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.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.

(Heredado de ObjectQuery)
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.

(Heredado de ObjectQuery)
IQueryable.ElementType

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

(Heredado de ObjectQuery)
IQueryable.Expression

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

(Heredado de ObjectQuery)
IQueryable.Provider

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

(Heredado de ObjectQuery)

Métodos de extensión

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)

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)

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)

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

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)

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

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an 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)

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)

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

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)

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>)

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>)

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)

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>)

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)

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>)

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>)

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>)

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: