C#LINQ groupby(),按重复值分组
我正在使用实体框架和LINQ。 我有一个名为“DatoCalc”值的列表从按日期和标识符过滤的输入中获取,并按数据库排序。 以下代码:C#LINQ groupby(),按重复值分组,c#,asp.net,entity-framework,group-by,C#,Asp.net,Entity Framework,Group By,我正在使用实体框架和LINQ。 我有一个名为“DatoCalc”值的列表从按日期和标识符过滤的输入中获取,并按数据库排序。 以下代码: List<Registro> datosCalcA = new List<Registro>(); MonitoreoEntities _context = new MonitoreoEntities(); datosCalcA= _context.Registroes.Where(a => a.Pun
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();
在本例中,我正确地显示了日期,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 newData = datosCalcA.GroupBy (i => i.FechaHoraRegistro).Select (x => new { values = x.Sum(y => y.value)}).ToList ();
你确定你没有这些值吗?当您执行
var.Select(s=>s.First())
时会得到什么?你没有看到所有不同分组的第一个值吗?为了查看键,您必须编写var.Select(s=>s.Key)
。这解决了问题,我的断点看起来很糟糕,它工作正常。谢谢您
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 newData = datosCalcA.GroupBy (i => i.FechaHoraRegistro).Select (x => new { values = x.Sum(y => y.value)}).ToList ();