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


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Creates a new ObjectQuery<T> instance using the specified Entity SQL command as the initial query and the specified merge option.

Namespace:   System.Data.Objects
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public ObjectQuery(
	string commandText,
	ObjectContext context,
	MergeOption mergeOption


Type: System.String

The Entity SQL query.

Type: System.Data.Objects.ObjectContext

The ObjectContext on which to execute the query.

Type: System.Data.Objects.MergeOption

Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same ObjectContext.

When your application generates Entity SQL queries at runtime, you should be aware of any command length limitations of the data source. Entity SQL does not enforce limitations on the length of the command text in queries.

This example is based on the AdventureWorks Sales Model. The ObjectQuery<T> is initialized with the specified query, ObjectContext, and 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 =

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

.NET Framework
Available since 3.5
Return to top