Я использовал выражения С# раньше, чем на основе lamdas, но у меня нет опыта составлять их вручную. Учитывая Expression<Func<SomeType, bool>> originalPredicate
, я хочу создать Expression<Func<OtherType, bool>> translatedPredicate
.
В этом случае SomeType и OtherType имеют одинаковые поля, но они не связаны (нет наследования и не основаны на общем интерфейсе).
Справочная информация. У меня есть реализация репозитория на основе LINQ to SQL. Я проектирую объекты LINQ to SQL для своих объектов модели, чтобы сохранить мою модель в POCO. Я хочу передать выражения в репозиторий (как форму спецификации), но они должны основываться на объектах модели. Но я не могу передать эти выражения в контексте данных, так как он ожидает выражения, основанные на объектах LINQ to SQL.