Ich erstelle eine Methode, die einen Filter erstellen kann, der von NHibernate verstanden wird (mit Filter meine ich zum Beispiel eine Reihe von ICriteria-Objekten), aus meinem abstrakten Filterobjekt.
public static IEnumerable ToNhCriteria(this MyCriteria criteria)
{
// Von T4 generierte Funktion
// Viele result.Add(Expression.Or(Expression.Eq(),Expression.Eq)) Expression Trees - schwer zu generieren
// Gibt es eine Möglichkeit, hier HQL/Linq-Abfrage zu generieren?
}
dann möchte ich etwas wie
session.CreateCriteria().Add(myCriteria.ToNhCriteria())
verwenden, um Entitäten zu filtern. Das Problem ist, dass die Verwendung von Expression-Methoden (Expression.Or usw.) ziemlich mühsam ist (die Methode wird generiert und ich habe mehrere ODER-Anweisungen, die irgendwie zu einem Ausdruck verbunden werden müssen). Gibt es einen Weg, um Expression.Or() zu vermeiden und ICrietrion / ICriteria mit LINQ oder HQL zu erstellen?