簡體   English   中英

LINQ 方法語法按列分組,從每組中選擇一個元素,每組總計數

[英]LINQ method syntax to group by a column, pick one element from each group with total count per group

我正在尋找 LINQ 查詢,使用方法語法按列分組,選擇每個組的第一個成員並將每個組的總數添加到每個組的選定實體中。

有沒有辦法在 LINQ 方法語法中的單個優雅語句中實現這一點?

輸入:

OrderId  Name       Category
=============================
1        Sam        X
2        Sam        Y
3        Matthew    A
4        Matthew    B

Output:

OrderId  Name       Category    Count
======================================
1        Sam        X           2
4        Matthew    B           2

像這樣的東西。 類別的值與我無關,我只想從組中獲取任何元素。

應該像帶有投影和一些聚合GroupBy一樣簡單

var results  = someList
      .Group(x => x.Name)
      .Select(x => new Entity()
         {
            Name = x.Key,
            OrderId = x.First().OrderId,
            Category = x.First().Category,  
            Count = x.Count()
         });
    

暫無
暫無

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

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