C# 将实体列表转换为整数数组
我需要用int类型的60个值填充一个数组,并且在数据库的DbSet中有这些值 在不进行循环的情况下,是否有办法将此列表转换为Int[]。 该值位于名为“温度”的属性中C# 将实体列表转换为整数数组,c#,entity-framework,linq,C#,Entity Framework,Linq,我需要用int类型的60个值填充一个数组,并且在数据库的DbSet中有这些值 在不进行循环的情况下,是否有办法将此列表转换为Int[]。 该值位于名为“温度”的属性中 public void SetLineChartData() { //Suppose we have a list of 60 items. using (ZigBeeContext db = new ZigBeeContext()) { var lista = (from p in db.
public void SetLineChartData()
{
//Suppose we have a list of 60 items.
using (ZigBeeContext db = new ZigBeeContext())
{
var lista = (from p in db.Medidas
select new Medida
{
Fecha = p.FechaHora
}).ToList();
}
lineChartData = new int[60];
lineChartData[0] = RandomNumberGenerator.randomScalingFactor();
hora[0] = DateTime.Now.ToShortTimeString();
lineChartData[1] = RandomNumberGenerator.randomScalingFactor();
hora[1] = DateTime.Now.ToShortTimeString();
lineChartData[2] = RandomNumberGenerator.randomScalingFactor();
hora[2] = DateTime.Now.ToShortTimeString();
lineChartData[3] = RandomNumberGenerator.randomScalingFactor();
hora[3] = DateTime.Now.ToShortTimeString();
lineChartData[4] = RandomNumberGenerator.randomScalingFactor();
hora[4] = DateTime.Now.ToShortTimeString();
lineChartData[5] = RandomNumberGenerator.randomScalingFactor();
hora[5] = DateTime.Now.ToShortTimeString();
lineChartData[6] = RandomNumberGenerator.randomScalingFactor();
hora[6] = DateTime.Now.ToShortTimeString();
//colorString = "rgba(" + RandomNumberGenerator.randomColorFactor() + "," + RandomNumberGenerator.randomColorFactor() + "," + RandomNumberGenerator.randomColorFactor() + ",.3)";
}
我需要用int类型的60个值填充一个数组,并且在数据库的DbSet中有这些值
在不进行循环的情况下,是否有办法将此列表转换为Int[]。该值位于名为temperature的属性中,不确定“不进行循环”是什么意思,因为许多函数将执行循环,即使它们看起来不像循环。
public void SetLineChartData()
{
//Suppose we have a list of 60 items.
using (ZigBeeContext db = new ZigBeeContext())
{
var lista = (from p in db.Medidas
select new Medida
{
Fecha = p.FechaHora
}).ToList();
}
lineChartData = new int[60];
lineChartData[0] = RandomNumberGenerator.randomScalingFactor();
hora[0] = DateTime.Now.ToShortTimeString();
lineChartData[1] = RandomNumberGenerator.randomScalingFactor();
hora[1] = DateTime.Now.ToShortTimeString();
lineChartData[2] = RandomNumberGenerator.randomScalingFactor();
hora[2] = DateTime.Now.ToShortTimeString();
lineChartData[3] = RandomNumberGenerator.randomScalingFactor();
hora[3] = DateTime.Now.ToShortTimeString();
lineChartData[4] = RandomNumberGenerator.randomScalingFactor();
hora[4] = DateTime.Now.ToShortTimeString();
lineChartData[5] = RandomNumberGenerator.randomScalingFactor();
hora[5] = DateTime.Now.ToShortTimeString();
lineChartData[6] = RandomNumberGenerator.randomScalingFactor();
hora[6] = DateTime.Now.ToShortTimeString();
//colorString = "rgba(" + RandomNumberGenerator.randomColorFactor() + "," + RandomNumberGenerator.randomColorFactor() + "," + RandomNumberGenerator.randomColorFactor() + ",.3)";
}
如果我明白你想做什么,那么可能是这样的:
int[] myArray = lista.Select(x => x.temperature).ToArray();
LINQ可以提供您所要求的:
var arr = lista.Select(i => i.Fecha).ToArray();
使用Linq,您可以这样做:
List<MyObject> lst = new List<MyObject>(); // fake dbSet can be Queryable
int[] toto = lst.Take(60).Select(item => item.MyInt).ToArray();
private class MyObject
{
public int MyInt { get; set; }
}
List lst=new List();//伪造的数据库集是可以查询的
int[]toto=lst.Take(60).Select(item=>item.MyInt.ToArray();
私有类MyObject
{
公共int MyInt{get;set;}
}
只需使用Linq:
public void SetLineChartData()
{
int[] yourIntArray; // your int array
//Suppose we have a list of 60 items.
using (ZigBeeContext db = new ZigBeeContext())
{
var lista = (from p in db.Medidas
select new Medida
{
Fecha = p.FechaHora,
}).ToList();
// here is how you can do that
yourIntArray = lista.Select(x =>
x.FechaHora //i think that's property that you need to be in int array
).ToArray();
}
}
如果FechaHora已经不是int,而你想施放它,你可以这样做
int[] lista = db.Medidas.Select(p => p.FechaHora).Cast<int>().ToArray();
int[]lista=db.Medidas.Select(p=>p.FechaHora.Cast().ToArray();
使用Linq您可以这样做。是否要从此db.Medidas
绑定您的int
列表?