我在不同的例子,教程,博客等中都看过这两种格式,但对于我的生活,我无法找到差异的解释。有什么区别
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)
非常感谢!!
答案 0 :(得分:5)
没有差异。如果可能,您可以/应该使用通用的,如果您只能访问Type实例(某些反射),则可以使用非泛型。
非泛型是NHibernate从Java Hibernate
导入时的一部分。
该通用已添加到 Build 2.1.0.Alpha1
版本中。
但是因为结果是非泛型 ICriteria
(与QueryOver<T>()
的结果相比),它只是一个语法糖。