在nHibernate中ICriteria和ICriterion之间有什么区别/优势?

Dea*_*unt 4 c# nhibernate icriteria

我开始使用nHibernate的新手问题.

NHibernate.Criterion.ICriterionNHibernate.ICriteria类之间有什么区别,我应该用哪种简单的" where field=value"类型过滤?

Fre*_*els 13

ICriteria用于表示查询.您可以将ICriterions添加到此ICriteria以表示过滤器.

例如:

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

crit.Add (NHibernate.Criterion.Expression.Eq("Name", "somename"));
Run Code Online (Sandbox Code Playgroud)

或者,正如文档所述:

ICriterion:查询标准的面向对象表示,可用作ICriteria查询中的约束

ICriteria:一个简化的API,用于通过组合NHibernate.Criterion.Expression对象来检索实体.