質問: Entity FrameworkのLINQを使用して、2つの日付の間の日数を判断しようとしています。 System.TimeSpanクラスのSubtractが認識されないと言われています これが私のLINQクエリのwhere部分です。 ``` where ((DateTime.Now.Subtract(vid.CreatedDate).TotalDays < maxAgeInDays)) ``` これは私がVS.NETデバッガで受け取るエラーです。 > {"エンティティへのLINQはメソッド 'System.TimeSpan Subtract(System.DateTime)'メソッドを認識しないため、このメソッドをストア式に変換することはできません。 > > 私は何か悪いことをしているのでしょうか、それともエンティティフレームワークの2つのDateTime間の日数を取得するより良い方法はありますか? マイケルに感謝
回答: これがどうやって動くのか 最も古い日付を表すdatetime変数を定義しました ``` DateTime oldestDate = DateTime.Now.Subtract(new TimeSpan(maxAgeInDays, 0, 0, 0, 0)); ... ``` それから私はLINQクエリのwhere部分を修正しました ``` where (vid.CreatedDate >= oldestDate ) ``` 魅力的な働きをしました - 式ツリーについて考えさせられたMicahに感謝