2

我的应用程序通过创建 Criterion 对象在运行时根据用户输入创建动态生成的查询,例如:

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

如何在 NHLambdaExtensions 中执行此操作?

我真正需要做的是

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

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

4

1 回答 1

2

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

ICriterion criterion = SqlExpression.CriterionFor<Person>(p => p.Name == "John");
于 2009-11-27T16:14:18.843 回答