【发布时间】:2015-02-27 22:43:55
【问题描述】:
我正在使用实体框架和 LINQ。 我有一个名为“DatosCalc”的列表,值是从按日期和标识符输入过滤并按日期排序的。 以下代码:
List<Registro> datosCalcA = new List<Registro>();
MonitoreoEntities _context = new MonitoreoEntities();
datosCalcA= _context.Registroes.Where(a => a.PuntoDeMedicionId == pPuntoDeMedicionId
&& a.EntradaSalidaId == _operadorA
|| a.EntradaSalidaId == _operadorB
&& a.FechaHoraRegistro <= _fechaHoraFinal
&& a.FechaHoraRegistro >= _fechaHoraInicial).OrderBy(i => i.FechaHoraRegistro).ToList();
我明白了:
FechaHoraRegistro 12/05/2014 1:52:07 PM} {System.DateTime
ID 1 decimal
Decimal value 29
FechaHoraRegistro 12/05/2014 1:52:07 PM} {System.DateTime
ID 2 decimal
Decimal value 24
FechaHoraRegistro 12/05/2014 2:03:14 PM} {System.DateTime
ID 1 decimal
Decimal value 24
FechaHoraRegistro 12/05/2014 2:03:14 PM} {System.DateTime
ID 2 decimal
Decimal value 25
.............
+ Raw View
+ DatosCalcA Count = 2767 System.Collections.Generic.List <SystemaControl.Registro>
要按日期分组,我使用 GroupBy () 创建一个新列表
newList var = datosCalcA.GroupBy (i => i.FechaHoraRegistro) .ToList ();
在这种情况下正确地给我带来了日期,newList 我有日期,但没有值和需要。我得到的是按日期分组的列表
FechaHoraRegistro 12/05/2014 1:52:07 PM} {System.DateTime
Decimal value 29
Decimal value 24
FechaHoraRegistro 12/05/2014 2:03:14 PM} {System.DateTime
Decimal value 24
Decimal value 25
请原谅我的英语
这解决了问题,我正在寻找坏断点,它可以正常工作。 谢谢
【问题讨论】:
-
您确定没有这些值吗?当您执行
var.Select (s => s.First ())时,您会得到什么?你没有看到所有不同分组的第一个值吗?要查看密钥,您必须写var.Select (s => s.Key)。 -
这解决了问题,我正在寻找坏断点,它工作正常。谢谢
标签: c# asp.net entity-framework group-by