当为SL应用程序使用ria服务时,我可以发出以下异步调用以获取一组实体列表。
LoadOperation<Person> ch =
this.AMSContext.Load(this.AMSContext.GetPersonQuery().Where(a => a.PersonID == this.performer.PersonID));
但是我想得到一些计算,例如sum(Commission),sum(Salary),结果不是实体,只是一个标量值。我怎么能这样做?
答案 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问题了解详情。