1. ホーム
  2. c#

[解決済み] EFのDateTimeから日付成分のみを比較する方法は?

2022-05-13 17:55:20

質問

データベースに保存されている日付と、DatePickerを使用してユーザーが選択した日付の2つの値があります。ユースケースは、データベースから特定の日付を検索することです。

データベースに以前入力された値は常に 12:00:00 の時間成分を持ちますが、ピッカーから入力された日付は異なる時間成分を持っています。

私は日付成分のみに興味があり、時間成分は無視したいと思っています。

C#でこの比較を行うには、どのような方法がありますか?

また、LINQでこれを行うにはどうしたらよいでしょうか?

UPDATEです。 LINQ to Entitiesでは、以下は問題なく動作します。

e => DateTime.Compare(e.FirstDate.Value, SecondDate) >= 0

どのように解決するのですか?

注意してください。 この回答を書いた時点では、EFの関係が不明でした(この回答が書かれた後に、問題に編集されました)。EFを使った正しいアプローチについては マンディープスの回答 .


を使用することができます。 DateTime.Date プロパティを使用して日付のみの比較を実行します。

DateTime a = GetFirstDate();
DateTime b = GetSecondDate();

if (a.Date.Equals(b.Date))
{
    // the dates are equal
}