1

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

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

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

4

1 回答 1

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
}

检查问题以获取更多详细信息。

于 2009-12-13T05:54:04.763 回答