解释CreateCriteria(typeof(Cat))和​​CreateCriteria <Cat>()之间的区别

Mia*_*aka 2 nhibernate createcriteria nhibernate-criteria

我在不同的例子,教程,博客等中看到过两种格式,但对于我的生活,我无法找到差异的解释.有什么区别

ICriteria crit = session.CreateCriteria(typeof(Cat));
Run Code Online (Sandbox Code Playgroud)

ICriteria crit = session.CreateCriteria<Cat>();
Run Code Online (Sandbox Code Playgroud)

我何时使用另一个?何时使用另一个?

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

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

非常感谢!!

Rad*_*ler 5

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

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

通用版本已添加到Build 2.1.0.Alpha1发行版中.

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