Jak mogę przekonwertować wyrażenie lambda między różnymi (ale kompatybilnymi) modelami?
(na podstawie rozmowy e-mailowej, nagranej teraz w celu wymiany informacji) mam dwa modele używane na różnych warstwach:
public class TestDTO {
public int CustomerID { get; set; }
}
//...
public class Test {
public int CustomerID { get; set; }
}
i lambda w odniesieniu do mojej warstwy DTO:
Expression<Func<TestDTO, bool>> fc1 =
(TestDTO c1) => c1.CustomerID <= 100 && c1.CustomerID >= 10;
Jak mogę przekonwertować tę lambdę (w ogólnym przypadku) na mówienie o innym modelu:
Expression<Func<Test, bool>> fc2 = {insert magic here, based on fc1}
(oczywiście, jesteśmy po tym samym stanie testu, ale używającTest
rodzaj)
?