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