ObjectQuery<T> Construtores

Definição

Inicializa uma nova instância da classe ObjectQuery<T>.

Sobrecargas

Nome Description
ObjectQuery<T>(String, ObjectContext)

Cria uma nova ObjectQuery<T> instância usando o comando Entity SQL especificado como a consulta inicial.

ObjectQuery<T>(String, ObjectContext, MergeOption)

Cria uma nova ObjectQuery<T> instância usando o comando Entity SQL especificado como a consulta inicial e a opção de mesclagem especificada.

Comentários

Um ObjectQuery<T> pode ser inicializado de forma que ele represente um único resultado escalar e não uma coleção de resultados escalares. Alguns métodos de extensão exigem resultados de coleção como entrada. Nesse caso, um ArgumentException é gerado quando um desses métodos é chamado. Para obter mais informações, consulte Consultas de objeto.

Quando seu aplicativo gera consultas SQL de entidade em runtime, você deve estar ciente de quaisquer limitações de comprimento de comando da fonte de dados. O SQL da entidade não impõe limitações no comprimento do texto do comando em consultas.

ObjectQuery<T>(String, ObjectContext)

Cria uma nova ObjectQuery<T> instância usando o comando Entity SQL especificado como a consulta inicial.

public:
 ObjectQuery(System::String ^ commandText, System::Data::Objects::ObjectContext ^ context);
public ObjectQuery(string commandText, System.Data.Objects.ObjectContext context);
new System.Data.Objects.ObjectQuery<'T> : string * System.Data.Objects.ObjectContext -> System.Data.Objects.ObjectQuery<'T>
Public Sub New (commandText As String, context As ObjectContext)

Parâmetros

commandText
String

A consulta SQL da entidade.

context
ObjectContext

No ObjectContext qual executar a consulta.

Exemplos

Este exemplo mostra como construir uma instância da ObjectQuery<T> classe.

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

Comentários

Quando seu aplicativo gera consultas SQL de entidade em runtime, você deve estar ciente de quaisquer limitações de comprimento de comando da fonte de dados. O SQL da entidade não impõe limitações no comprimento do texto do comando em consultas.

Confira também

Aplica-se a

ObjectQuery<T>(String, ObjectContext, MergeOption)

Cria uma nova ObjectQuery<T> instância usando o comando Entity SQL especificado como a consulta inicial e a opção de mesclagem especificada.

public:
 ObjectQuery(System::String ^ commandText, System::Data::Objects::ObjectContext ^ context, System::Data::Objects::MergeOption mergeOption);
public ObjectQuery(string commandText, System.Data.Objects.ObjectContext context, System.Data.Objects.MergeOption mergeOption);
new System.Data.Objects.ObjectQuery<'T> : string * System.Data.Objects.ObjectContext * System.Data.Objects.MergeOption -> System.Data.Objects.ObjectQuery<'T>
Public Sub New (commandText As String, context As ObjectContext, mergeOption As MergeOption)

Parâmetros

commandText
String

A consulta SQL da entidade.

context
ObjectContext

No ObjectContext qual executar a consulta.

mergeOption
MergeOption

Especifica como as entidades recuperadas por meio dessa consulta devem ser mescladas com as entidades que foram retornadas de consultas anteriores em relação ao mesmo ObjectContext.

Exemplos

Neste exemplo, a ObjectQuery<T> consulta é inicializada com a consulta ObjectContextespecificada e MergeOption.

int productID = 900;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product FROM
        AdventureWorksEntities.Products AS product
        WHERE product.ProductID > @productID";

    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    productQuery1.Parameters.Add(new ObjectParameter("productID", productID));

    ObjectQuery<DbDataRecord> productQuery2 =
        productQuery1.Select("it.ProductID");

    foreach (DbDataRecord result in productQuery2)
    {
        Console.WriteLine("{0}", result["ProductID"]);
    }
}

Comentários

Quando seu aplicativo gera consultas SQL de entidade em runtime, você deve estar ciente de quaisquer limitações de comprimento de comando da fonte de dados. O SQL da entidade não impõe limitações no comprimento do texto do comando em consultas.

Aplica-se a