【问题标题】:SUM and GROUPBY lambda expression on DataDomainServiceDataDomainService 上的 SUM 和 GROUPBY lambda 表达式
【发布时间】:2014-06-26 22:32:00
【问题描述】:

我有一个 Silverlight 应用程序和一个从域数据源控件绑定的 gridview,我正在使用两个参数从域数据源查询一个视图,但从结果来看,我需要对 4 列求和,并按其他列分组。

我的元数据类:

internal sealed class vwAplicacoesMetadata
    {
        // Metadata classes are not meant to be instantiated.
        private vwAplicacoesMetadata()
        {
        }

        public Nullable<int> CodInternoCliente { get; set; }

        public Nullable<int> CodTipoOper { get; set; }

        public string CPFCNPJCliente { get { return this.CPFCNPJCliente; } set { String.Format("{0,-14}", value); } }

        public string TipoClientePFPJ { get; set; }

        public string NomeCliente { get; set; }

        public DateTime DataOper { get; set; }

        public decimal LCQtde { get; set; }

        public decimal LCValor { get; set; }

        public decimal LDQtde { get; set; }

        public decimal LDValor { get; set; }
    }
}

而我需要使用 groupby 和 sum 表达式的 IQueryable 函数:

public IQueryable<vwAplicacoes> GetVwAplicacoesPorData(DateTime pstrDataInicio, DateTime pstrDataFinal)
    {
        return this.ObjectContext.vwAplicacoes.Where(d => d.DataOper > pstrDataInicio && d.DataOper < pstrDataFinal)
    }

它的工作,现在我需要按 CPFCNPJCliente、NomeCliente、TipoClientePFPJ、CodInternoCliente 和 CodTipoOper 分组,并对字段 LCValor、LCQtde、LDValor、LDQtde 求和。

有什么建议吗?

【问题讨论】:

    标签: c# sql lambda edmx domaindatasource


    【解决方案1】:

    试试这个:

    return this.ObjectContext.vwAplicacoes
           .Where(d => d.DataOper > pstrDataInicio && d.DataOper < pstrDataFinal)
           .GroupBy(x => new {x.CPFCNPJCliente,x.NomeCliente,x.TipoClientePFPJ,x.CodInternoCliente,x.CodTipoOper})
           .Select(k => new {key = k.Key, 
                             totalLCValor = k.Sum(x=>x.LCValor),
                             totalLCQtde = k.Sum(x=>x.LCQtde),
                             totalLDValor = k.Sum(x=>x.LDValor),
                             totalLDQtde = k.Sum(x=>x.LDQtde)})
    

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多