如何根据ria服务编写总和计算?

时间:2009-12-09 17:15:32

标签: linq silverlight wcf-ria-services

当为SL应用程序使用ria服务时,我可以发出以下异步调用以获取一组实体列表。

LoadOperation<Person> ch = 
this.AMSContext.Load(this.AMSContext.GetPersonQuery().Where(a => a.PersonID == this.performer.PersonID));

但是我想得到一些计算,例如sum(Commission),sum(Salary),结果不是实体,只是一个标量值。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用通过 WCF方法返回任何值的方法。 在服务器端,你将有这样的东西

[EnableClientAccess()]
public class AMSContext : DomainService
{
   public float CalucalteCommissionSum()
   {
      // make your linq query and return the result here 
   }
}

您可以从客户端访问它,如下所示:

this.AMSContext.CalucalteCommissionSum(x => context_CalucalteCommissionSumCompleted(x), null);

void context_CalucalteCommissionSumCompleted(System.Windows.Ria.InvokeOperation<float> op)
{
    // you will have the value in op.Value
}

查看this问题了解详情。