В чем разница / преимущества между ICriteria и ICriterion в nHibernate? - PullRequest
4 голосов
/ 28 августа 2009

Немного нового вопроса, так как я начинаю работать с nHibernate.

В чем разница между классами NHibernate.Criterion.ICriterion и NHibernate.ICriteria и какие мне следует использовать для простой фильтрации типа "where field=value"?

1 Ответ

13 голосов
/ 28 августа 2009

ICriteria используется для представления запроса. Вы можете добавить ICriterions к этому ICriteria для экспресс-фильтров.

Например:

ICriteria crit = session.CreateCriteria (typeof(Person));

crit.Add (NHibernate.Criterion.Expression.Eq("Name", "somename"));

Или, как указано в документации:

ICriterion: объектно-ориентированный представление критерия запроса которые могут быть использованы в качестве ограничения в Запрос ICriteria

ICriteria: упрощенный API для извлечение сущностей путем составления NHibernate.Criterion.Expression объекты.

...