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 に答える