2017-12-24 52 views
-1

Entity Frameworkの日付、日時フィールドを比較したいと思います。私のデータベースでは、StartTimeという列がdateまたはsmalldatetimeとなっています。 OK、このケースを使用します。Entity Frameworkで日付を比較するにはどうすればよいですか?

var list = db.tmpListAction.Where(e => e.StartTime.ToString() == "2017-12-15").ToList(); 

これは機能しません。私はテーブルにデータを持っていますが、nullを返します。

+1

'e.StartTime.ToString(「YYYY-MM-DD」)'の – JohnyL

+0

可能な重複[からのみ日付コンポーネントを比較する方法EFのDateTime?](https://stackoverflow.com/questions/1478215/how-to-compare-only-date-components-from-datetime-in-ef) –

答えて

2

なぜもう一度文字列に変換するのですか? .ToString()は、期待しているデータ表現を返すことが保証されていないため、コードが破損する可能性が最も高いです。

はちょうど日付として日付を離れて、次のように比較します。

DateTime desiredDate = new DateTime(2017, 12, 15); 
var list = db.tmpListAction.Where(e => e.StartTime == desiredDate).ToList(); 
+0

私の場合のように@marc_sさん、私はこれを文字列として比較したいので、 '' '" 2017-12-15 "' ''を使ってみると、私はuse stringが好きだと混乱しました。 –

+2

@Brian Crist、なぜあなたは文字列として日付を比較することを強く求めていますか?それは適切な方法ではありません。 – lucky

関連する問題