次の拡張メソッドがあります。
public static bool Between(this DateTime target, DateTime startDate, DateTime endDate)
{
return target >= startDate && target <= endDate;
}
私はそれをこのように呼ぶことができます
if (expectedDate.Between(minDate, maxDate)) { do code }
私は今、これを次のようなLinq/Lambda式で使用しようとしています。
return list.Where(item => targetDate.Between(item.StartDate, item.EndDate));
OR if (!list.Any(pp => targetDate.Between(pp.StartDate, pp.EndDate)))
実行時に次のエラーが発生します。
LINQ to Entitiesは、メソッド'Boolean Between(System.DateTime、System.DateTime、System.DateTime)'メソッドを認識せず、このメソッドをストア式に変換できません。
しかし、これは問題ありません
if (!list.Any(item => targetDate >= item.StartDate && quoteDate.EventDate <=item.EndDate)))
呼び出す共通のメソッドが欲しいのですが。私のオプションは何ですか?