Использование мутированного выражения в качестве предиката

Я хочу запустить оператор 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

0 ответов

Другие вопросы по тегам