C# 将实体列表转换为整数数组

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.

我需要用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.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
列表?