Czy możesz nauczyć Entity Framework rozpoznawania wyrazu?

Mam funkcję wyszukiwania, która używa Framework Entity. Jedną z rzeczy, które możesz wyszukiwać, jest zakres dat. Możesz powiedzieć coś w rodzaju „gdzie data rozpoczęcia jest pomiędzy SearchStart a Search End”. Nie jest to takie trudne do napisania w składni linq, ale może być dość gadatliwe, gdy masz wiele różnych parametrów daty do przeszukiwania.

Mam metodę rozszerzenia DateTime, która zasadniczo sprawdza datę jest zawarta między datą początkową a datą końcową. Używam tego w innych miejscach, w których EF nie stanowi problemu, ale chciałbym też użyć go w zapytaniach EF. Tworzę zapytanie dynamicznie, stosując dodatkowe klauzule WHERE przed wykonaniem ToList (który będzie próbował uruchomić zapytanie).

Tak jak się spodziewałem, użycie metody rozszerzenia zgłasza wyjątek: „LINQ to Entities nie rozpoznaje metody„ Boolean IsBetween (System.DateTime, System.DateTime, System.DateTime) ”, a tej metody nie można przetłumaczyć na sklep wyrażenie."

Rozumiem, że Linq do Entities nie ma możliwości dowiedzenia się, na co tłumaczy IsBetween w Sql, ale czy jest jakiś sposób, by dać mu instrukcje? Próbowałem znaleźć odpowiedź w Internecie, ale nie było to zbyt pomocne. Jeśli istnieje jakiś atrybut, który mogę dodać do metody rozszerzenia lub w jakiś sposób, mogę zaktualizować konfigurację EF?

Zgaduję, że nie, ale nie chcę zakładać bez pytania.

Dzięki!

UPDATE: Dodawanie kodu metody rozszerzenia

 public static bool IsBetween(this DateTime date , DateTime start, DateTime end)
 {
   return (date >= start && date < end);
 }

questionAnswers(3)

yourAnswerToTheQuestion