J'ai une classe DateRange personnalisée et je veux simplement ajouter une nouvelle criture pour QueryOver, en créant une nouvelle méthode d'aide et en passant lambda qui contient le champ dont j'ai besoin et la plage de dates. Mais je ne peux pas comprendre comment transférer et transformer l'expression.Nhibernate QueryOver helper pour la plage de dates sans passer le nom du champ
public static IQueryOver<tRoot, tSubType> AddDateRangeCritery<tRoot,tSubType>(this IQueryOver<tRoot, tSubType> query,
System.Linq.Expressions.Expression<Func<tSubType, object>> expr, DatesRange range)
{
if (range?.minDate != null)
query.Where(??? >= range.minDate.Value);
}
je tryed compiler l'expression, mais je pense que ce n'est pas la meilleure idée + ne peux pas comprendre comment se passer à params d'expression. Est-il possible de faire cela sans ICriterion? Je ne veux pas aller de cette façon car nous pouvons transmettre des biens et non des noms de champs, ce qui est plus stable.
Thx! Cela marche. Mon mauvais, je ne savais pas comment travailler avec des expressions, et passer des paramètres de l'entrée d'expression. –