動的 linq を使用して、適度に複雑な検索の where 句を作成していますが、日付に関する問題に遭遇しました。
ユーザーが「作成日」でフィルタリングして、その日付より前、その日付、またはその日付より後のいずれかを検索できるようにしたいと考えています。
次のような動的クエリを作成するために使用したこの回答を見つけました.Year == @0.Year && created.Month == @0.Month && created.Day == @0.Day)"
。これは、正確に等しい日付の検索には問題なく機能しますが、前または後の何かを検索しようとするとうまくいきません。私が得た最も遠いのは"(created.Year >= @0.Year && created.Month >= @0.Month && created.Day > @0.Day)
、現在の月以外では機能しないことです((今日以降)を検索した場合、日付の1か月後であっても、27日を超える結果のみが表示されます探しました。)
私も使っDateTime.Compare
てみましたが、うまくいきませんでしたし、DateTime.Date` を比較しようとしてもうまくいきませんでした。
T-SQL を直接使用する以外に、これを実現する方法はありますか?
編集:と"(created.Date == @0.Date)"