2015-08-14 91 views
-1

我是新來的C#。我試圖使用MVC5中的DotNet High Chart創建折線圖。我想從數據庫中使用DateTime。我需要時間值轉換爲字符串,以便它在高圖表填充將日期時間轉換爲字符串C#

var iOPLeftCount = (from d in db.Appointments 
        where d.PatientId == p.PatientId 
        select d).Count(); 


// modify the data type to array type 
var xDataDate = iOPLeftCount.Select(i => i.Date.ToString("yyyyMMdd")).ToArray(); 
var yDataIOPLeft = iOPLeftCount.Select(i => new object[] { i.IOPLeft }).ToArray(); 

但是我與上面的代碼中發現了以下錯誤

INT不包含選擇一個定義接受第一 arguement int類型的可尋

任何意見,將不勝感激

+5

'Count'返回'int'。這就是爲什麼你的'iOPLeftCount'是整數。你不能使用'Select'。 –

+0

嘗試刪除'.Count()',那麼它將返回一個對象,其中'PatientId'就像指定的ID。 –

+0

這裏沒有足夠的信息來解決你的問題。你能發佈相關的數據類型(類結構)嗎? – gunr2171

回答

0

該錯誤與日期轉換無關。這是因爲你打電話.Count(),它返回int,然後使用.Select

這是不是太清楚你想達到什麼樣的,但我想是這樣的:

var data = (from d in db.Appointments 
      where d.PatientId == p.PatientId 
      select new 
      { 
       Date = d.Date.ToString("yyyyMMdd"), 
       IOPLeft = d.IOPLeft, 
      }).ToList(); 

var xSeries = data.Select(a => a.Date).ToArray(); 
var ySeries = data.Select(a => a.IOPLeft).ToArray(); 

```

相關問題