通过Silverlight Where提供RIA服务Orderby

本文关键字:服务 Orderby RIA 提供 Silverlight Where 通过 | 更新日期: 2023-09-27 18:12:50

当我通过RIA服务查询数据库时,例如…

OrderWorkflowSLWCFRIA.Web.OrderWorkflowDomainContext db
   = new OrderWorkflowSLWCFRIA.Web.OrderWorkflowDomainContext();
db.Load(db.getWorkflowbyNameQuery(strCurrentLineText, intCustomerId)
     .Where(Workflow => Workflow.UserSelectable == true), load => { }, null);

…将参数传递给底层域服务并在域服务端执行where和order子查询与在客户端指定它们之间有什么区别吗?我一直认为我应该在域服务端执行它,假设在客户端执行子查询将在执行子查询之前加载客户端上的所有数据,但是我读到的东西使我相信子查询实际上传递给了域服务。这是真的还是假的?

通过Silverlight Where提供RIA服务Orderby

我想对于术语"子查询",您想使用Where和order子句。嗯,是的,你通常是对的,过滤客户端通常迫使服务器返回所有内容,然后客户端将对内容进行过滤/排序,但是WCF Ria服务的主要目标之一确实是使在客户端定义过滤、排序甚至分组成为可能,然后在服务器端执行它们。

基本上在客户端和服务器之间有代码,通过网络"序列化"你的LINQ表达式,然后在服务器端"反序列化"它。

请注意,术语"序列化"answers"反序列化"在此上下文中是不正确的,但我认为它们说明了问题。另外,请记住,在此过程中有一些事情没有实现,因此您不能使用嵌套条件(例如Any()

)查询domainservice。