0
  bindToGridCollection = transactionRecsCollection.
               Where(tran =>  tran.GlhDate >= durationFrom && 
                                      tran.GlhDate <= durationTo).ToList();

我只得到 2 条记录,而在我提供的日期之间应该有 7 条记录

在 transactionRecsCollection 我得到所有的记录

4

3 回答 3

0

我相信这是您在这里使用的 DateTime 结构,所以不要忘记它的时间部分。尝试以下操作,看看会发生什么。

bindToGridCollection = transactionRecsCollection.Where(tran =>  tran.GlhDate >= durationFrom && tran.GlhDate < durationTo.AddDays(1)).ToList();
于 2012-12-03T08:10:14.783 回答
0

在您给定的示例中,问题可能是其中之一:

  1. tran.GlhDate 和 durationFrom 的日期格式可能不同。
  2. durationFrom 可能是字符串类型而不是日期时间。
  3. tran.GlhDate 可能是字符串类型而不是日期时间。
于 2012-12-03T09:02:42.233 回答
-1

我能想到为什么你只得到两条而不是 7 条记录的唯一原因是这GlhDate是一个DateTime带有时间部分的变量,你想包括给定日期的所有记录。

然后您可以使用DateTime.Datewhich 返回没有时间的日期组件:

bindToGridCollection = transactionRecsCollection
    .Where(tran =>  tran.GlhDate.Date >= durationFrom.Date  
                 && tran.GlhDate.Date <= durationTo.Date)
    .ToList();
于 2012-12-03T08:10:56.717 回答