通过linq进行分组并加入很长时间

用户名

我试图通过这种方法通过多次联接来组团,但它什么也没给我返回

public List<CTarifaAplicada> get_TarifasAplicadas(int id_proforma)
        {
            var pt = (from ta in db.TarifaAplicada
                      where ta.IDProforma == id_proforma
                      join p in db.Proforma on ta.IDProforma equals p.ID
                      join pe in db.PortExpenses on ta.CodigoPE equals pe.CodigoPE
                      join v in db.Voucher on pe.IDVoucher equals v.No
                      select new CTarifaAplicada
                      {
                          CodigoFile = ta.CodigoFile,
                          CodigoPE = ta.CodigoPE,
                          Fecha = ta.Fecha,
                          Id = ta.Id,
                          IDProforma = ta.IDProforma,
                          ITBIS = ta.ITBIS,
                          Monto = ta.Monto,
                          DWT = p.DWT,
                          GRT=p.GRT,
                          LOA=p.LOA,
                          no_Voucher= v.No,
                          voucher=v.Description
                      }).ToList();

            return pt;

我试图通过v.No进行分组。

Json(cta.get_TarifasAplicadas(id_Proforma).OrderBy(n => n.no_Voucher).GroupBy(n => n.no_Voucher)

这什么也没给我。在我的网格上,我是新手

哈姆雷特(Hamlet Hakobyan)

将您的方法定义为(比较明智EnumerableList是,返回而不是):

public IEnumerable<CTarifaAplicada> get_TarifasAplicadas(int id_proforma)
{
    var pt = (from ta in db.TarifaAplicada
                where ta.IDProforma == id_proforma
                join p in db.Proforma on ta.IDProforma equals p.ID
                join pe in db.PortExpenses on ta.CodigoPE equals pe.CodigoPE
                join v in db.Voucher on pe.IDVoucher equals v.No
                select new CTarifaAplicada
                    {
                        CodigoFile = ta.CodigoFile,
                        CodigoPE = ta.CodigoPE,
                        Fecha = ta.Fecha,
                        Id = ta.Id,
                        IDProforma = ta.IDProforma,
                        ITBIS = ta.ITBIS,
                        Monto = ta.Monto,
                        DWT = p.DWT,
                        GRT=p.GRT,
                        LOA=p.LOA,
                        no_Voucher= v.No,
                        voucher=v.Description
                    });
    return pt;
}

然后将数据分组并以匿名类型将其投影为:

var groupedData = cta.get_TarifasAplicadas(id_Proforma)
    .GroupBy(n => new {n.no_Voucher, n.voucher, n.DWT, n.GRT, n.LOA, n.Fecha})
    .Select(g => new
                   {
                       g.Key.no_Voucher,
                       g.Key.voucher,
                       ITBIS = g.Sum(r => r.ITBIS),
                       MONTO = g.Sum(r => r.Monto),
                       g.Key.DWT,
                       g.Key.GRT,
                       g.Key.LOA,
                       g.Key.Fecha 
                   });

现在,您可以使用groupedData序列化,就JSON好像您的lib允许匿名类型序列化一样。否则,您必须根据投影类型定义类型并使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MySql-使用和条件在Where类中通过花费很长时间来进行排序

LINQ to ENTITY选择查询执行需要很长时间-WPF

在Tomcat上进行战争部署需要很长时间

进行很长时间的摩卡咖啡测试是不好的做法吗?

使用RDD进行迭代处理不能持续很长时间

Linq如何对加入的查询进行分组

ABAddressBookSave花费很长时间

聚集需要很长时间

cProfile需要很长时间

Rclone花了很长时间

Httpclient需要很长时间

通过LINQ进行分组吗?

具有聚合功能的Oracle动态SQL过程需要很长时间才能通过ORDS进行调用,但是在SQL Developer中可以快速运行

解析时间戳需要很长时间

是否可以创建一个很大的文件或程序,但是用AES或RSA加密算法进行加密需要花费很长时间(很长时间)?

通过SoundManager2 for webradios进行流式传输的时间很长

SQL Server表:在SQL Server 2014中加入临时表变量(@table)需要花费很长时间

Hibernate saveAndFlush()需要很长时间才能进行10K逐行插入

SQL查询请求需要很长时间与内部联接进行特殊选择

Skype邮件需要很长时间才能传递,但通话可以顺利进行。怎么修?

使neo4j查询持续很长时间以进行测试吗?

从Debian <-> OS X进行NFS挂载,需要很长时间来保存更改

复杂的Xpage需要很长时间才能进行部分刷新

IEnumerable在对其进行过滤时需要花费很长时间来处理

禁用ntp.service进行引导,因为它需要很长时间

MediaCodec.dequeueOutputBuffer在Android上对h264进行编码时花费很长时间

SQL Server 2012花费很长时间进行简单的更改以添加NULL列

使用NOT IN子查询进行SELECT INTO查询需要很长时间/挂起

Keras需要很长时间才能根据model.load()进行首次预测