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

时间:2013-02-26 23:59:49

标签: nhibernate nhibernate-criteria createcriteria

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

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

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

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

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

找到

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

非常感谢!!

1 个答案:

答案 0 :(得分:5)

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

非泛型是NHibernate从Java Hibernate导入时的一部分。

该通用已添加到 Build 2.1.0.Alpha1 版本中。

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