因爲數據庫設計的時間字段是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();