Export (0) Print
Expand All

ObjectQuery<T>.Where Method

Limits the query to results that match specified filtering criteria.

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

public ObjectQuery<T> Where(
	string predicate,
	params ObjectParameter[] parameters
)

Parameters

predicate
Type: System.String

The filter predicate.

parameters
Type: System.Data.Objects.ObjectParameter[]

Zero or more parameters that are used in this method.

Return Value

Type: System.Data.Objects.ObjectQuery<T>
A new ObjectQuery<T> instance that is equivalent to the original instance with WHERE applied.

ExceptionCondition
ArgumentNullException

predicate is null.

-or-

parameters is null.

ArgumentException

The predicate is an empty string.

This example is based on the Adventure Works Sales Model. The example creates a new ObjectQuery<T> that contains results of the existing query filtered by the following criteria: "it.ProductID = 900".

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

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

    ObjectQuery<Product> productQuery2 =
        productQuery1.Where("it.ProductID = @productID");

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

    // Iterate through the collection of Product items. 
    foreach (Product result in productQuery2)
    {
        Console.WriteLine("Product Name: {0}; Product ID: {1}",
            result.Name, result.ProductID);
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5 SP1

.NET Framework Client Profile

Supported in: 4
Show:
© 2015 Microsoft