簡體   English   中英

LINQ 獲取結果中的列,查詢的分組依據

[英]LINQ get columns in result by which query was grouped by

我在 LINQ 中獲取分組列時遇到問題。

我的課:

public class DTO_CAORAS
{    
    public int? iORAS_KEY_CON { get; set; }
    public int? iMERC_KEY {get;set;}
    public double? decD_ORAS_QUA {get;set;}        
}

LINQ 查詢:

var results =
    from oras in listCAORAS_Delivered
    group oras by new
    {
      oras.iORAS_KEY_CON,
      oras.iMERC_KEY
    }
    into orasGroup
    select new
    {
      decD_ORAS_QUA = orasGroup.Sum(x => x.decD_ORAS_QUA)
    };

列表results僅填充一列 - decD_ORAS_QUA 我不知道如何獲取列,按哪個查詢分組 - IORAS_KEY_CONiMERC_KEY 我想用 iORAS_KEY_CON、iMERC_KEY 和 decD_ORAS_QUA 填充results

輸入數據:

+---------------+-----------+---------------+
| iORAC_KEY_CON | iMERC_Key | decD_ORAS_QUA |
+---------------+-----------+---------------+
|            1  |      888  |             1 |
|            1  |      888  |             2 |
|            1  |      888  |             4 |
+---------------+-----------+---------------+

期望的輸出:

+---------------+-----------+---------------+
| iORAC_KEY_CON | iMERC_Key | decD_ORAS_QUA |
+---------------+-----------+---------------+
|            1  |      888  |             7 |
+---------------+-----------+---------------+

還要顯示密鑰:

var results = from oras in listCAORAS_Delivered
              group oras by new { oras.iORAS_KEY_CON, oras.iMERC_KEY } into g
              select new DTO_CAORAS {
                  iORAS_KEY_CON = g.Key.iORAS_KEY_CON,
                  iMERC_KEY = g.Key.iMERC_KEY,
                  decD_ORAS_QUA = g.Sum(x => x.decD_ORAS_QUA)
              };

由於您只對一列進行分組,因此您還可以:

var results = from oras in listCAORAS_Delivered
              group oras.decD_ORAS_QUA by new { oras.iORAS_KEY_CON, oras.iMERC_KEY } into g
              select new DTO_CAORAS {
                  iORAS_KEY_CON = g.Key.iORAS_KEY_CON,
                  iMERC_KEY = g.Key.iMERC_KEY,
                  decD_ORAS_QUA = g.Sum()
              };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM