Ser*_*glu 2 c# linq datatable group-by
我有一个DataTable并存储4列(StockCardCode,Explain,Quantity,BranchCode),并使用LinQ对它们进行分组.代码是我使用Group By的关键.当我编写查询时,我只能在select语句中使用2列,如何在此查询中显示所有列?此查询返回2列.例如,我无法在查询中使用x.Field("Explain").
var query = from s in incoming.AsEnumerable()
group s by s.Field<string>("Stock Card Code")
into grp
orderby grp.Key
select new { StockCardCode = grp.Key, Quantity = grp.Sum(r => r.Field<decimal>("Quantity")) };
Run Code Online (Sandbox Code Playgroud)
传入:DataTable
由于您通过StockCardQuote进行分组,因此"Explain"值将是具有相同StockCardQuote的行中的所有Explain值 - 它将是一个IEnumerable<T>,所以如果Explain是a string,您将获得IEnumerable<string>.
要在你的select陈述中包括这一点,就这样做
select new {
StockCardCode = grp.Key,
Quantity = grp.Sum(r => r.Field<decimal>("Quantity")),
Explanations = grp.Select(r => r.Field<string>("Explain")) };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18029 次 |
| 最近记录: |