EntityQuery<TEntity> Class

WCF RIA Services

[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]

Represents a LINQ query over a collection of entities.

System.Object
  System.ServiceModel.DomainServices.Client.EntityQuery
    System.ServiceModel.DomainServices.Client.EntityQuery<TEntity>

Namespace:  System.ServiceModel.DomainServices.Client
Assembly:  System.ServiceModel.DomainServices.Client (in System.ServiceModel.DomainServices.Client.dll)

public sealed class EntityQuery<TEntity> : EntityQuery
where TEntity : Entity

Type Parameters

TEntity

The entity type.

The EntityQuery<TEntity> type exposes the following members.

  NameDescription
Public propertyDomainClientGets the DomainClient for this query. (Inherited from EntityQuery.)
Public propertyEntityTypeGets the type this query retrieves data from. (Inherited from EntityQuery.)
Public propertyHasSideEffectsGets a value indicating whether the query has side-effects. (Inherited from EntityQuery.)
Public propertyIncludeTotalCountGets or sets a value indicating whether the TotalEntityCount property is required. (Inherited from EntityQuery.)
Public propertyIsComposableGets a value indicating if the query supports composition. (Inherited from EntityQuery.)
Public propertyParametersGets the parameters required by the query method. (Inherited from EntityQuery.)
Public propertyQueryGets the underlying IQueryable for the query. (Inherited from EntityQuery.)
Public propertyQueryNameGets the name of the query method. (Inherited from EntityQuery.)
Top

  NameDescription
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodToString (Inherited from Object.)
Top

  NameDescription
Public Extension MethodOrderBy<TEntity, TKey>Applies the specified ascending order clause to the source query. (Defined by EntityQueryable.)
Public Extension MethodOrderByDescending<TEntity, TKey>Applies the specified descending order clause to the source query. (Defined by EntityQueryable.)
Public Extension MethodSelect<TEntity>Applies the specified selection to the source query. (Defined by EntityQueryable.)
Public Extension MethodSkip<TEntity>Applies the specified skip clause to the source query. (Defined by EntityQueryable.)
Public Extension MethodTake<TEntity>Applies the specified take clause to the source query. (Defined by EntityQueryable.)
Public Extension MethodThenBy<TEntity, TKey>Applies the specified ascending order clause to the source query. (Defined by EntityQueryable.)
Public Extension MethodThenByDescending<TEntity, TKey>Applies the specified descending order clause to the source query. (Defined by EntityQueryable.)
Public Extension MethodWhere<TEntity>Applies the specified filter to the source query. (Defined by EntityQueryable.)
Top

In your client application, you can apply additional filtering on a query to limit which entities are returned. You use LINQ and a subset of LINQ query operators to modify the results returned from the query. The following lists the available query operators:

  • Where

  • OrderBy

  • ThenBy

  • Skip

  • Take

After you apply additional filtering, you pass the EntityQuery<TEntity> object as a parameter in the Load method to execute the query and get the results. If the query has a QueryAttribute with the IsComposable property set to false, you cannot apply additional filtering on the query. Generally, only queries that return a single entity will have IsComposable set to false.

The following code shows how to retrieve customers from the domain service. It filters customers who have phone numbers that start with 583 and orders them alphabetically by LastName. The results are displayed in a DataGrid.

public partial class MainPage : UserControl
{
    private CustomerDomainContext _customerContext = new CustomerDomainContext();

    public MainPage()
    {
        InitializeComponent();
        EntityQuery<Customer> query = 
            from c in _customerContext.GetCustomersQuery()
            where c.Phone.StartsWith("583")
            orderby c.LastName
            select c;
        LoadOperation<Customer> loadOp = this._customerContext.Load(query);
        CustomerGrid.ItemsSource = loadOp.Entities;
    }
}


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show: