C# c LINQ列表键,结果视图,获取值
我开始使用C和LINQ,我认为列表可以过滤一个数据库,该数据库按日期重复数据,并通过ToList创建一个列表C# c LINQ列表键,结果视图,获取值,c#,linq,entity-framework,C#,Linq,Entity Framework,我开始使用C和LINQ,我认为列表可以过滤一个数据库,该数据库按日期重复数据,并通过ToList创建一个列表 List<Registro> datosCalcA = new List<Registro>(); MonitoreoEntities _context = new MonitoreoEntities(); datosCalcA= _context.Registroes.Where(a => a.PuntoDeMedicionId ==
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();
var newList = datosCalcA.GroupBy(i => i.FechaHoraRegistro, x => new {Valor = x.Valor}).ToList();
假设您的类如下所示:
public class myClass
{
public int Valor1;
public int Valor2;
}
现在您以某种方式列出myClass,可能是从db获取数据:
List<myClass> myList = GetDataFromDatabase(); // Returns List<myClass>
您可以使用此代码
var ListProduct = from item in myList
select (item.Valor2 * item.Valor1);
不清楚你想做什么?您能否提供具有预期输出的示例数据。您正在使用FechaHoraRegistro作为键和Valor作为比较器创建组,如果需要遍历每个组,您可以使用键在组中循环,然后进行计算。我不使用类。我正在使用EF和过滤。将代码添加到带有EFError 5的滤液顶部当前上下文中不存在名称“x”D:\Proyecto telemetria\SystemaControl\Graficos.aspx.cs 142 61 SystemaControl Error 4'System.Linq.IGrouping'不包含“Valor2”的定义,并且没有扩展方法“Valor2”接受类型为“System.Linq.IGrouping”的第一个参数找不到您是否缺少using指令或程序集引用?D:\Proyecto telemetria\SystemaControl\Graficos.aspx.cs 142 52 SystemaControlI对我们以前尝试过的项进行了错误更改x,错误:error'不包含'Valor1'的定义,并且没有扩展方法'Valor1'接受类型的第一个参数找不到“System.Linq.igroupping”是否缺少using指令或程序集引用?D:\Proyecto telemetria\SystemaControl\Graficos.aspx.cs 141 65 SystemaControl
var newList = datosCalcA.GroupBy(i => i.FechaHoraRegistro, x => new {x.Valor}).ToList();
yy = 0;
foreach (var _datosCalculado in newList)
{
var valorW = newList[yy].ToList(); //auxiliary list to take values (Valor)
try
{
decimal resultado = valorW[0].Valor / valorW[1].Valor;// Take data in pos [0] and [1] in auxiliary list
}
catch (DivideByZeroException e) //divide by zero error
{
decimal resultado = 0;
}
yy++;
}
public class myClass
{
public int Valor1;
public int Valor2;
}
List<myClass> myList = GetDataFromDatabase(); // Returns List<myClass>
var stuff = myList.Select(x => new { Product = x.Valor1 * x.Valor2 });
var ListProduct = from item in myList
select (item.Valor2 * item.Valor1);