2

我已经在不同的示例、教程、博客等中看到了这两种格式,但在我的一生中,我无法找到差异的解释。和有什么区别

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

ICriteria crit = session.CreateCriteria<Cat>();

我什么时候使用一个,什么时候使用另一个?

可以在http://nhibernate.info/doc/nh/en/index.html#quickstart找到使用 session.CreateCriteria(typeof(Cat)) 的教程示例

可以在http://ayende.com/blog/4023/nhibernate-queries-examples找到使用 session.CreateCriteria() 的教程示例(表 Blog 而不是 Cat)

非常感谢!!

4

1 回答 1

5

没有区别。如果可能,您可以/应该使用泛型,如果您只能访问 Type 实例(一些反射),则可以使用非泛型。

非泛型是 NHibernate 从 Java 导入的那一刻起的一部分Hibernate

泛型是在Build 2.1.0.Alpha1版本中添加的。

但是因为结果是非泛型的 ICriteria (与 的结果相比QueryOver<T>())它只是一个语法糖。

于 2013-02-27T05:11:02.043 回答