1

SQLテーブルに「CreatedDate」という名前のDateTimeタイプの列があり、asp.netアプリケーションから「DateTime.Now」を使用してこの列の値を渡しています。

CreatedDate列のデータは次のとおりです。

 CreatedDate
 -----------
 2012-05-07 18:56:17.487
 2012-05-07 18:56:28.443
 2012-05-07 19:21:24.497
 2012-05-14 15:22:04.587

これでデータを取得する必要がありますCreatedDate

私のエンティティフレームワークでは、次のような条件を試しました

DataAccess.Entities dataEntities = new DataAccess.Entities();

DataAccess.Employee employee = dataEntities.Employees
                              .First(e => e.CreatedDate == DateTime.Today);

このように、この日付(2012-05-14)のデータがありますが、ここではミニナッツの部分が異なり(the DateTime.Today gives '2012-05-14 12:00:000' like this)、シーケンスに要素が含まれていないなどのエラーが表示されます。

Linqで「日付」だけを比較するにはどうすればよいですか.....誰かがここで私を助けてくれますか、、、

4

3 に答える 3

2

DateDateTimeオブジェクトのプロパティを使用する

CreatedDate.Date==DateTime.Today

したがって、コードは次のようになります

DataAccess.Employee employee=dataEntities.
                     Employees.First(e=>e.CreatedDate.Date==DateTime.Today);

DateプロパティはDate、オブジェクトのコンポーネントとにDateTime設定された時間値を返します12:00:00 midnight (00:00:00)

于 2012-05-14T12:07:49.857 に答える
1

これを試して:

DataAccess.Employee employee =
    dataEntities.Employees.First(e=>e.CreatedDate.Date==DateTime.Today)
于 2012-05-14T12:07:57.020 に答える
0

私はちょうど2つの変数を次のように宣言しました

DateTime date1=DateTime.Now.Date;
DateTime date2=DateTime.Now.Date.AddDays(1);

そして、私がこれらの変数を次のように使用した条件で

DataAccess.Employee employee = dataEntities.Employees
                          .First(e => e.CreatedDate >= date1 
                                   && e.CreatedDate < date2);

その動作...。

于 2012-05-22T12:28:10.223 に答える