我有一個 Account 物件,例如:
public class Account
{
public int Id { get; set; }
public List<Elegibilities> Elegibilities { get; set; }
}
public class Elegibilities
{
public int Id { get; set; }
public string Label { get; set; }
public bool Value { get; set;}
}
我的存盤庫回傳一個帳戶串列。List<Account>
我想按專案分組和計數,Elegibilities輸出如下:
{
Total: 30,
[
{
Id : 1,
Label: "Elegibility1",
Count: 10
},
{
Id : 2,
Label: "Elegibility2",
Count: 20
}
]
}
我遇到了問題,因為它是另一個串列中的一個串列。
是否可以在單個 LINQ 查詢中解決?
uj5u.com熱心網友回復:
看起來你不想要任何與帳戶相關的資料,
這為您提供了一個簡單的平面串列來使用。
var flatList = accounts.SelectMany(a => a.Elegibilities);
如果您需要在輸出中包含與帳戶相關的資料,這可能是另一個示例。
var group = from a in accounts
from el in a.Elegibilities
group el by el.Id into elGroup
select new
{
Id = elGroup.Key,
Count = elGroup.Count(),
Label = elGroup.First().Label
};
最后,您可以訪問您的組總數。
var result = new { Totals = group.Count() , Elegibilities = group.ToList() };
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/428918.html
