1
DateTime start = d.Key; // say 2013-06-01
DateTime end = d.Key.AddDays(d.Value); // say end=2013-06-07

var filteredRecords = from n in dt.AsEnumerable()
                      orderby n["Date"] ascending
                      where (DateTime)n["Date"] >= start && (DateTime)n["Date"] <= end
                      select n;

查询工作正常,但总是缺少第一条记录,即第一次日期(2013-06-01)的数据。我已经用数据库检查了它,并且在那里我得到了丢失日期的数据。我不知道我做错了什么,请帮忙。

提前致谢!

4

2 回答 2

2

尝试仅使用Date部分日期进行比较:

from r in dt.AsEnumerable()
let date = r.Field<DateTime>("Date")
where date.Date >= start.Date && date.Date <= end.Date
orderby date ascending
select r;
于 2013-07-25T07:32:15.073 回答
2
var recs = dt.AsEnumerable().Where(x=>x.Field<DateTime>("Date") >= start && x.Field<DateTime>("Date") <= end)
                         .OrderBy(x => x.Field<DateTime>("Date"));
于 2013-07-25T07:32:49.127 回答