2017-09-13 70 views
0

我無法使用數據庫中的數據構建圖表。試過這樣的,但它不工作無法使用數據庫中的數據構建圖表

控制器:

public ActionResult Chart() 
{ 
    return PartialView("_Chart"); 
} 

在主視圖:

img src="@Url.Action("Chart")"/> 

局部視圖(_Chart.cshtml):

@using TestProject.Models; 

@{ 
    DateTime[] xVal = new DateTime(); 
    Decimal[] yVal = new Decimal(); 

    TestProjectContext db = new TestProjectContext(); 
    var deals = from d in db.DealsDirectory 
       select d; 

    deals.ToList().ForEach(x => xVal.Add(x.Date)); 
    deals.ToList().ForEach(y => yVal.Add(y.Price)); 

    var Chart = new Chart(width: 600, height: 400) 
     .AddTitle("Зависимость цены от времени") 
     .AddSeries(
      name: "USD", 
      xValue: xVal, 
      yValues: yVal, 
      chartType:"Line") 
     .Write(); 
} 

回答

0

你的代碼有一些基本的語法問題,它會阻止你的代碼甚至正確編譯!

以下代碼段無效!

DateTime[] xVal = new DateTime(); 
Decimal[] yVal = new Decimal(); 

您不能DateTime對象分配給陣列/收藏DateTime小號

您可以使用implicit variable declaration與LINQ查詢表達式一起。

這應該工作

@{  
    var db = new TestProjectContext();  

    var xVal = db.DealsDirectory.Select(g => g.Date).ToArray(); 
    var yVal = db.DealsDirectory.Select(g => g.Price).ToArray(); 

    var Chart = new Chart(width: 600, height: 400) 
     .AddTitle("Зависимость цены от времени") 
     .AddSeries(
      name: "USD", 
      xValue: xVal, 
      yValues: yVal, 
      chartType:"Line") 
     .Write(); 
}