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

私が提供した日付の間に7つのレコードがあるはずなのに、2つのレコードしか取得していません

transactionRecsCollection で、すべてのレコードを取得します

4

3 に答える 3

0

あなたの与えられた例では、問題はこれらのうちの1つであるかもしれません:

  1. tran.GlhDateとdurationFromは同じ日付形式ではない可能性があります。
  2. durationFromは、Datetimeではなくstring型である可能性があります。
  3. tran.GlhDateは、Datetimeではなくstring型である可能性があります。
于 2012-12-03T09:02:42.233 に答える
0

これはあなたがここで使用している DateTime 構造だと思いますので、時刻の部分を忘れないでください。以下を試して、何が起こるか見てください。

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

7 レコードではなく 2 レコードしか得られない唯一の理由は、時間部分をGlhDate持つDateTime変数であり、特定の日のすべてのレコードを含めたいということです。

次にDateTime.Date、時間なしで日付コンポーネントを返す whichを使用できます。

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