He usado expresiones C# antes en base a lamdas, pero no tengo experiencia en componerlas a mano. Dado un Expression<Func<SomeType, bool>> originalPredicate
, quiero crear un Expression<Func<OtherType, bool>> translatedPredicate
.C# Cómo convertir una expresión <Func <SomeType>> en una expresión <Func <OtherType>>
En este caso SomeType y OtherType tienen los mismos campos, pero no están relacionados (sin herencia y no basados en una interfaz común).
Antecedentes: Tengo una implementación de repositorio basada en LINQ to SQL. Proyecto las entidades LINQ to SQL a mis entidades Model, para mantener mi modelo en POCO. Quiero pasar expresiones al repositorio (como una forma de especificaciones) pero deben basarse en las entidades modelo. Pero no puedo pasar esas expresiones al contexto de datos, ya que espera expresiones basadas en las entidades LINQ to SQL.
La respuesta es en este tema: http://stackoverflow.com/questions/4601844/expression-tree-copy-or-convert – jeanlou1370