Partilhar via


ObjectQuery<T> Construtores

Definição

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

Sobrecargas

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 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, confira Consultas de objeto.

Quando seu aplicativo gera consultas Entity SQL em runtime, você deve estar ciente de quaisquer limitações de comprimento de comando da fonte de dados. O Entity SQL 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 Entity SQL.

context
ObjectContext

O ObjectContext no 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 Entity SQL em runtime, você deve estar ciente de quaisquer limitações de comprimento de comando da fonte de dados. O Entity SQL 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 Entity SQL.

context
ObjectContext

O ObjectContext no qual executar a consulta.

mergeOption
MergeOption

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

Exemplos

Neste exemplo, o ObjectQuery<T> é inicializado com a consulta especificada, ObjectContexte 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 Entity SQL em runtime, você deve estar ciente de quaisquer limitações de comprimento de comando da fonte de dados. O Entity SQL não impõe limitações no comprimento do texto do comando em consultas.

Aplica-se a