我有这张桌子:
Con Fecha Rid Pdv Pla Descripcion Total Quantity
----------------------------------------------------------------------------
1 2016-01-01 COMIDAS FUEM 184 POZ ROJO 85 1
10 2016-01-01 DESAYUNOS VTSI 184 POZ ROJO 85 4
100 2016-01-01 COMIDAS VTSI 693 ENVASE 1 LT 10 1
101 2016-01-01 DESAYUNOS REST 693 ENVASE 1 LT 10 2
102 2016-01-01 COMIDAS VTSI 693 ENVASE 1 LT 10 1
103 2016-01-01 COMIDAS REST 73 NOPAL/PIÑA VASO 34 6
104 2016-01-01 DESAYUNOS REST 73 NOPAL/PIÑA VASO 34 1
105 2016-01-01 DESAYUNOS REST 184 POZ ROJO 85 9
106 2016-01-01 COMIDAS VTSI 693 ENVASE 1 LT 10 1
107 2016-01-01 CENAS REST 184 POZ ROJO 85 2
108 2016-01-01 DESAYUNOS REST 184 POZ ROJO 85 1
Run Code Online (Sandbox Code Playgroud)
我需要的是一个 Linq 语句,它根据作为我的主键的“Pla”数据对每个项目的所有“数量”进行求和,我想知道每个不同的“Pla”有多少“数量”,并求和每个不同的“Pla”的总和产生如下输出:
Con Fecha Rid Pdv Pla Descripcion Total Quantity
----------------------------------------------------------------------------
1 2016-01-01 COMIDAS FUEM 184 POZ ROJO 1445 17
100 2016-01-01 COMIDAS VTSI 693 ENVASE 1 LT 50 5
103 2016-01-01 COMIDAS REST 73 NOPAL/PIÑA VASO 34 6
104 2016-01-01 DESAYUNOS REST 73 NOPAL/PIÑA VASO 34 1
Run Code Online (Sandbox Code Playgroud)
如何使用 Linq 语句获得此输出?到目前为止,我所拥有的只是:
foreach (var item in db.Pos.Select(l => l.Pla).Distinct())
{
//Do stuff
}
Run Code Online (Sandbox Code Playgroud)
您需要使用 groupby
db.Pos.GroupBy(a=> a.Pla).Select(p=> new {Pla = p.Key, Quantity = p.Sum(q=>q.Quantity)});
Run Code Online (Sandbox Code Playgroud)
GroupBy 将键返回为不同的,因此您将获得 Pla 的不同值及其各自数量的总和
| 归档时间: |
|
| 查看次数: |
6199 次 |
| 最近记录: |