Nhibernate 解释CreateCriteria(type of(Cat))和CreateCriteria<;Cat>;()

Nhibernate 解释CreateCriteria(type of(Cat))和CreateCriteria<;Cat>;(),nhibernate,nhibernate-criteria,createcriteria,Nhibernate,Nhibernate Criteria,Createcriteria,我在不同的例子、教程、博客等中看到了这两种格式,但就我个人而言,我找不到解释这种差异的方法。两者的区别是什么 ICriteria crit = session.CreateCriteria(typeof(Cat)); 及 ICriteria crit=session.CreateCriteria(); 我什么时候用一个,什么时候用另一个 使用session.CreateCriteria(typeof(Cat))的教程示例可以在 使用session.CreateCriteria()的教程示例可

我在不同的例子、教程、博客等中看到了这两种格式,但就我个人而言,我找不到解释这种差异的方法。两者的区别是什么

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

ICriteria crit=session.CreateCriteria();
我什么时候用一个,什么时候用另一个

使用session.CreateCriteria(typeof(Cat))的教程示例可以在

使用session.CreateCriteria()的教程示例可在(表Blog而不是Cat)中找到


非常感谢

无差异。如果可能,您可以/应该使用泛型实例,如果您只能访问类型实例(某些反射),则可以/应该使用非泛型实例

从从Java
Hibernate
导入时起,非泛型就是NHibernate的一部分

build2.1.0.Alpha1
版本中添加了泛型


但是,由于结果是非泛型的
ICriteria
(与
QueryOver()
的结果相比),因此它只是一个语法糖。

出于好奇,哪一个是泛型的?(我知道这听起来像一个愚蠢的问题,但我找到的文档并没有解释它。)泛型是
会话。CreateCriteria()如果可能,应使用此选项
ICriteria crit = session.CreateCriteria<Cat>();