m.AssembleMaterials.GroupBy(x => x.AssembleMaterialCode).Select(group => group.First()).ToList();分组时将AssembleMaterialCode相同的数据count字段的值相加
时间: 2024-12-15 07:13:14 浏览: 1
LINQ_to_SQL语法及实例大全
5星 · 资源好评率100%
这个LINQ查询片段是在.NET框架中使用的,它首先对数据集`m.AssembleMaterials`按照`x.AssembleMaterialCode`属性进行分组(GroupBy操作),然后对于每个分组,选择第一个元素(group.First())。最后,将结果转换为列表(ToList())。
如果你想按`AssembleMaterialCode`分组,并计算每个组内所有记录的某个字段(假设是`count`字段)的总和,你需要稍微修改一下查询。假设`count`字段是一个整数字段,你可以这样做:
```csharp
var sumGrouped = m.AssembleMaterials
.GroupBy(x => x.AssembleMaterialCode)
.Select(group => group.Sum(item => item.count))
.ToList();
```
这里,我们使用了`Sum()`函数代替`First()`,它会计算每个组内所有`item.count`的总和。最终,`sumGrouped`列表将包含每个不同的`AssembleMaterialCode`对应的计数值之和。
阅读全文