Datatable中linq使用,主要是按查询条件分组查询排序,方便统计分析,和减少数据交互。
Dictionary<string, int> dicTotalNum = new Dictionary<string, int>();
dtDiseaseInfo.Rows.Cast<DataRow>().Select(f => new
{
DATE_TIME = f.Field<DateTime>("DATE_TIME"),
DISEASE_UNIQ_ID = f.Field<string>("DISEASE_UNIQ_ID"),
要素1 = f.Field<string>("要素1"),
要素2= f.Field<string>("要素2"),
要素3= f.Field<string>("要素3"),
}).Where(p => p.要素1 == "a" || p.要素1 == "b")
.GroupBy(d => new
{
DATE_TIME = d.DATE_TIME.ToString("yyyy-MM")
}).Select(a => new
{
时间 = a.Key.DATE_TIME,
例数 = a.Count()
}).ToList().ForEach(h =>
{
dicTotalNum.Add(h.时间, h.例数);
});