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)。我用数据库检查了它,我得到了丢失日期的数据。我不知道我做错了什么,请帮忙。
提前致谢!
答案 0 :(得分: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;
答案 1 :(得分:2)
var recs = dt.AsEnumerable().Where(x=>x.Field<DateTime>("Date") >= start && x.Field<DateTime>("Date") <= end)
.OrderBy(x => x.Field<DateTime>("Date"));