RIA服务 - 在服务器或客户端进行过滤?

Ada*_*dam 2 silverlight silverlight-4.0 wcf-ria-services

让我们说我有一些代码:

ExampleDomainContext ctx = new ExampleDomainContext();

var query = from p in ctx.GetPeopleQuery()
            where p.Id > 2
            select p;

ctx.Load<Person>(query).Completed += (s, e) =>
{
    // do some stuff
};
Run Code Online (Sandbox Code Playgroud)

这是在客户端上完成的,来自RIA服务的GetPeopleQuery()调用返回people表中的所有人.

我的问题是查询(Id> 2的人)是否被转换到服务器并运行或服务器是否将所有人返回到客户端然后进行过滤?

Jef*_*ley 5

作为赋予Load()方法的EntityQuery的一部分指定的任何过滤器都将在服务器上执行.如果需要,您可以在客户端上进一步查询查询结果.