Использование мутированного выражения в качестве предиката
Я хочу запустить оператор LINQ на DBSet
EntityFramework. Поскольку я использую в приложении другие типы объектов (не тип моих сущностей), мне нужно изменить выражение, чтобы оно содержало объекты EntityFramework, а не объекты моего приложения.
Я использовал ответ в этом вопросе, чтобы сделать это: Мутирование дерева выражений предиката для нацеливания на другой тип
Но я не могу узнать, как на самом деле использовать результат...(как Predicate
или Func
и т. д.) Я видел, что когда-то в Expression был метод Compile, но его больше нет.
Может кто-нибудь объяснить мне, как это сделать?
РЕДАКТИРОВАТЬ:
Я хотел бы использовать такой интерфейс:
public interface ICRUDFacade<T>
{
bool Create(T source);
IEnumerable<T> Read(Predicate<T> exp);
bool Update(T source);
bool Delete(T source);
}
и в реализации EntityFramework фасад конвертировать T
к объекту, который может быть вставлен в DbSet
, Когда я запускаю выражение LINQ в Read
Метод я получу объекты сущности, а затем преобразовать их обратно в T