在NHibernate中创建条件时,我可以使用
限制.In()或
Restriction.InG()
他们之间有什么区别?
答案 0 :(得分:11)
InG是In(对于集合)
的通用等价物方法的签名如下(仅显示ICollection In重载):
In(string propertyName, ICollection values)
VS
InG<T>(string propertyName, ICollection<T> values)
看看NHibernate的源代码(主干),它们似乎都将集合复制到一个对象数组并继续使用它,所以我认为它们之间没有性能差异。
我个人大多数时间都只使用In - 它更容易阅读。
答案 1 :(得分:0)
Restriction.In肯定会创建一个子查询,其中包含您传递给.In()方法的任何条件,但不确定InG()的作用。从未见过它。