2015-08-14 75 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(); 

```

相关问题