2009-11-27 3 views
2

Mon application crée une requête générée dynamiquement lors de l'exécution en fonction de l'entrée utilisateur en créant Criterion objets par exemple:NHLambdaExtensions: Créer un objet Critère d'ajouter à ICriteria plus tard

ICriterion criterion = Restrictions.Eq("Name", "John"); 
...... 
detachedCriteriaSomewhereElse.Add(criterion); 

Comment puis-je faire cela en NHLambdaExtensions?

ce que je dois vraiment faire est

ICriterion criterion = Restrictions.Eq<Person>(p=> p.Name == "John"); 

mais ce n'est pas valide. Est-ce qu'il y a un moyen de faire ça?

Répondre

2

Avec les NHLambdaExtensions vous avez la classe SqlExpression qui vous permet d'effectuer les opérations suivantes:

ICriterion criterion = SqlExpression.CriterionFor<Person>(p => p.Name == "John"); 
Questions connexes