NHLambdaExtensions: создайте объект Criterion для последующего добавления в ICriteria. - PullRequest
2 голосов
/ 27 ноября 2009

Мое приложение создает динамически сгенерированный запрос во время выполнения на основе пользовательского ввода путем создания объектов Criterion, например:

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

Как мне это сделать в NHLambdaExtensions?

что мне действительно нужно сделать, это

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

но это не верно. Есть ли способ сделать это?

1 Ответ

2 голосов
/ 27 ноября 2009

С NHLambdaExtensions у вас есть класс SQLExpression, который позволяет вам делать следующее:

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