1

我对 MVC 很陌生,并且对 Linq 有一些问题,我认为解决方案会很简单。

我在数据库中有一个包含以下变量的表;

名称 - 字符串

值 - 浮动

时间-日期时间

现在我想将一个特定的名称放入两个数组中,一个包含值,另一个包含时间,这样很容易绘制。我制作了一个控制器,我可以在其中设法访问数据库并使用此代码获取特定名称;

        var Names = db.Graphs
                        .Where(r => r.Name.Contains(Name) ||
                                    string.IsNullOrEmpty(Name))
                        .Take(10)

但是我完全坚持如何遍历数据库,获取两个数组并将其发送到我有我的 Highchart-plot 的视图。

Javascript;

  series: [{
            name: 'NameOn',
            data: [23.3, 18.3, 13.9, 9.6]   <--- Where i want to insert my data
        }]

关于如何检索数据的任何想法?

4

1 回答 1

2

对于不规则时间图表数据格式如下

public static Series GetIrregularTimeChartData()
{
    List<Series> Series = new List<Series>();

    // get data from db and convert it to chart data (name, value, date)
    var chartSeries = db.Graphs.GroupBy(x => new { x.Name })
                      .Select(g => new
                      {
                          Name = g.Key,
                          Data = g.Select(x => x.Value).ToArray(),
                          Date = g.Select(x => x.Date).ToArray()
                      }).ToArray();

    // create 2D array => [value, date]
    foreach (var item in chartSeries)
    {
        int lenght = item.Data.Count();
        object[,] data = new object[lenght, 2];
        for (int i = 0; i < lenght; i++)
        {
            data[i, 0] = item.Date[i];
            data[i, 1] = item.Data[i];
        }
        Series localSeries = new Series { Name = item.Name, Data = new Data(data) };
        Series.Add(localSeries);
    }

    return Series;
}

将此数据设置为图表数据源。您可以使用此页面中的示例获取更多信息。

于 2013-02-11T13:52:47.510 回答