Я использовал выражения C#, прежде чем основываться на lamdas, но у меня нет опыта составления их вручную. Учитывая Expression<Func<SomeType, bool>> originalPredicate
, я хочу создать Expression<Func<OtherType, bool>> translatedPredicate
.C# Как преобразовать выражение <Func <SomeType>> в выражение <Func <OtherType>>
В этом случае SomeType и OtherType имеют одинаковые поля, но они не связаны (нет наследования и не основаны на общем интерфейсе).
Фон: У меня есть реализация репозитория на основе LINQ to SQL. Я проектирую объекты LINQ to SQL для своих объектов модели, чтобы сохранить мою модель в POCO. Я хочу передать выражения в репозиторий (как форму спецификации), но они должны основываться на объектах модели. Но я не могу передать эти выражения в контексте данных, так как он ожидает выражения, основанные на объектах LINQ to SQL.
Ответ в этой теме: http://stackoverflow.com/questions/4601844/expression-tree-copy-or-convert – jeanlou1370