Silverlight 如何使用RIA服务QueryBuilder<;T>;

Silverlight 如何使用RIA服务QueryBuilder<;T>;,silverlight,ria,query-builder,Silverlight,Ria,Query Builder,根据QueryBuilder的参数列表,T对象的EntityQuery是查询整形的候选对象。然而,我这样做的尝试没有成功。我想知道是否有人知道如何在T的EntityQuery上使用ApplyTo方法,以便在客户端上对其进行过滤 这就是我到目前为止所做的: 以下代码段成功返回存储在特定数据库表中的所有自定义实体 var ctx = new CustomDomainContext(); var query = ctx.GetAllCustomEntitiesQuery(); var lo = ct

根据QueryBuilder的参数列表,T对象的EntityQuery是查询整形的候选对象。然而,我这样做的尝试没有成功。我想知道是否有人知道如何在T的EntityQuery上使用ApplyTo方法,以便在客户端上对其进行过滤

这就是我到目前为止所做的:

以下代码段成功返回存储在特定数据库表中的所有自定义实体

var ctx = new CustomDomainContext();
var query = ctx.GetAllCustomEntitiesQuery();

var lo = ctx.Load<CustomEntity>(query);
lo.Completed += (s, e) =>
{
    var result = lo.Entities.ToList();
};
var ctx=newCustomDomainContext();
var query=ctx.getAllCustomEntitysQuery();
var lo=ctx.Load(查询);
lo.已完成+=(s,e)=>
{
var result=lo.Entities.ToList();
};
下面的代码段尝试使用RIA服务QueryBuilder来形成上面使用的查询,以限定结果。不幸的是,所有的数据仍然返回

var ctx = new CustomDomainContext();
var query = ctx.GetAllCustomEntitiesQuery();

var builder = new QueryBuilder<CustomEntity>();
builder.Where(c => c.Id == 1);
builder.ApplyTo(query);

var lo = ctx.Load<CustomEntity>(query);
lo.Completed += (s, e) =>
{
    var result = lo.Entities.ToList(); --> Still returns all entities!
};
var ctx=newCustomDomainContext();
var query=ctx.getAllCustomEntitysQuery();
var builder=new QueryBuilder();
其中(c=>c.Id==1);
builder.ApplyTo(查询);
var lo=ctx.Load(查询);
lo.已完成+=(s,e)=>
{
var result=lo.Entities.ToList();-->仍然返回所有实体!
};

毫无疑问,我没有正确使用QueryBuilder。有没有人有过将QueryBuilder应用于T的EntityQuery的经验?

我意识到了我的错误。QueryBuilder的ApplyTo方法不会更改原始EntityQuery,而是返回一个新的EntityQuery。因此,我所需要做的就是将QueryBuilder返回的EntityQuery加载到DomainContext的load方法中

lo.Completed += (s, e) => 
{     
    foreach(CustomEntity item in lo.Entities)
    {
      list.add(item);
    }
 };