猿问

按多列分组

按多列分组

如何在LINQ中实现GroupBy多列

类似于SQL中的内容:

SELECT * FROM <TableName> GROUP BY <Column1>,<Column2>

如何将其转换为LINQ:

QuantityBreakdown(
    MaterialID int,
    ProductID int,
    Quantity float)INSERT INTO @QuantityBreakdown (MaterialID, ProductID, Quantity)SELECT MaterialID,
     ProductID, SUM(Quantity)FROM @TransactionsGROUP BY MaterialID, ProductID


UYOU
浏览 414回答 3
3回答

慕田峪7331174

使用匿名类型。艾格group&nbsp;x&nbsp;by&nbsp;new&nbsp;{&nbsp;x.Column1,&nbsp;x.Column2&nbsp;}

长风秋雁

程序样本.GroupBy(x&nbsp;=>&nbsp;new&nbsp;{&nbsp;x.Column1,&nbsp;x.Column2&nbsp;})

尚方宝剑之说

好的,这是:var&nbsp;query&nbsp;=&nbsp;(from&nbsp;t&nbsp;in&nbsp;Transactions &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group&nbsp;t&nbsp;by&nbsp;new&nbsp;{t.MaterialID,&nbsp;t.ProductID} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;into&nbsp;grp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;new &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grp.Key.MaterialID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grp.Key.ProductID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quantity&nbsp;=&nbsp;grp.Sum(t&nbsp;=>&nbsp;t.Quantity) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}).ToList();
随时随地看视频慕课网APP
我要回答