NHLambdaExtensions:创建一个Criterion对象,以便稍后添加到ICriteria

时间:2009-11-27 15:01:32

标签: criteria icriteria nhlambdaextensions

我的应用程序通过创建Criterion对象(例如:

),根据用户输入在运行时创建动态生成的查询
ICriterion criterion = Restrictions.Eq("Name", "John");
......
detachedCriteriaSomewhereElse.Add(criterion);

我如何在NHLambdaExtensions中执行此操作?

我真正需要做的是

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

但这无效。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

使用NHLambdaExtensions,您可以使用SQLExpression类来执行以下操作:

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