Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataDomainService上的SUM和GROUPBY lambda表达式_C#_Sql_Lambda_Edmx_Domaindatasource - Fatal编程技术网

C# DataDomainService上的SUM和GROUPBY lambda表达式

C# DataDomainService上的SUM和GROUPBY lambda表达式,c#,sql,lambda,edmx,domaindatasource,C#,Sql,Lambda,Edmx,Domaindatasource,我有一个Silverlight应用程序和一个来自domaindatasource控件的gridview绑定,我正在使用两个参数从域数据源查询一个视图,但是从结果来看,我需要对4列求和,按其他列分组 我的元数据类: internal sealed class vwAplicacoesMetadata { // Metadata classes are not meant to be instantiated. private vwAplicacoesMet

我有一个Silverlight应用程序和一个来自domaindatasource控件的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; }
    }
}
内部密封类vwAplicacoesMetadata
{
//元数据类并不意味着要实例化。
私有vwAplicacoesMetadata()
{
}
公共可空的codinternoclient{get;set;}
公共可空的codtipoper{get;set;}
公共字符串cpfcnpjclient{get{返回this.cpfcnpjclient;}set{string.Format(“{0,-14}”,value);}
公共字符串TipoClientePFPJ{get;set;}
公共字符串NomeCliente{get;set;}
公共日期时间数据操作符{get;set;}
公共十进制LCQtde{get;set;}
公共十进制值{get;set;}
公共十进制LDQtde{get;set;}
公共十进制LDValor{get;set;}
}
}
IQueryable函数我需要使用groupby和sum表达式:

public IQueryable<vwAplicacoes> GetVwAplicacoesPorData(DateTime pstrDataInicio, DateTime pstrDataFinal)
    {
        return this.ObjectContext.vwAplicacoes.Where(d => d.DataOper > pstrDataInicio && d.DataOper < pstrDataFinal)
    }
public IQueryable GetVwAplicacoesPorData(DateTime pstrDataInicio,DateTime pstrDataFinal)
{
返回此.ObjectContext.vwAplicacoes.Where(d=>d.DataOper>pstrDataInicio&&d.DataOper
现在我需要按CPFCNPJCliente、NomeCliente、TipoClientePFPJ、CodInternoCliente和CodTipoOper对字段LCValor、LCQtde、LDValor和LDQtde进行分组

有什么建议吗?

试试这个:

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)})
返回this.ObjectContext.vwAplicacoes
.Where(d=>d.DataOper>pstrDataInicio&&d.DataOpernew{x.cpfcnpjclient,x.NomeCliente,x.tipoclientefpj,x.codinternoclient,x.CodTipoOper})
.Select(k=>new{key=k.key,
TotalCvalor=k.Sum(x=>x.LCValor),
TotalCqtde=k.Sum(x=>x.LCQtde),
TotaldValor=k.Sum(x=>x.LDValor),
totaldqtde=k.Sum(x=>x.LDQtde)})