因为数据库设计的时间字段是vachar,用linq取得话不能直接转换成DateTime,,就按照字符串直接来进行筛选了。
var list = (from a in db.p_realdata
where a.fDate.CompareTo(begin_time) >= 0//开始时间
where a.fDate.CompareTo(end_time) <= 0//结束时间
group a by new
{
a.fDataItemName,
a.fDate
} into g
select new
{
data_item = g.Key.fDataItemName,
time = g.Key.fDate,
val = g.Average(x => x.fConcData)
}).OrderBy(x => x.time).ToList();