C# Wie konvertiert einen Ausdruck<U<SomeType>> Ausdruck<U<OtherType>>

Habe ich verwendet C# - Ausdrücke vor, basierend auf lamdas, aber ich habe keine Erfahrung Komponieren Sie mit der hand. Gegeben eine Expression<Func<SomeType, bool>> originalPredicateich möchte erstellen Sie eine Expression<Func<OtherType, bool>> translatedPredicate.

In diesem Fall SomeType und OtherType haben die gleichen Felder, aber Sie sind nicht verwandt (keine Vererbung und nicht auf der Grundlage einer gemeinsamen Schnittstelle).

Hintergrund: ich habe eine repository-Implementierung auf Basis von LINQ to SQL. I-Projekt, das LINQ to SQL-Entitäten zu meinem Modell Entitäten, um mein Modell in POCO. Möchte ich weitergeben Ausdrücken, um das repository (als eine form von Spezifikationen), aber Sie sollte auf der Grundlage der Modell-Entitäten. Aber ich kann nicht passieren die Ausdrücke, die den Daten-Kontext, da es erwartet, Ausdrücke basierend auf den LINQ to SQL-Entitäten.

InformationsquelleAutor der Frage Michiel van Oosterhout | 2009-03-17

Schreibe einen Kommentar