Whooooo. Это так плохой метод. Вы проходите Func<>
, а не Expression<Func<>>
. Это означает, что каждый раз, когда вы выполняете свой метод, EF извлекает все записи из таблицы базы данных, сопоставленной с T
, и выполняет фильтрацию в памяти вашего приложения - создание набора объектов - это последнее, чего вы должны бояться.
В любом случае создание набора объектов не должно быть дорогой операцией, и если вы не хотите создавать его каждый раз, когда вам нужно реализовать некоторое «локальное кэширование» внутри экземпляра контекста объекта.