4

在 NHibernate 中创建标准时,我可以使用

Restriction.In() 或
Restriction.InG()

它们之间有什么区别?

4

2 回答 2

11

InG 是 In 的通用等价物(用于集合)

方法的签名如下(仅显示 ICollection In 重载):

In(string propertyName, ICollection values)

对比

InG<T>(string propertyName, ICollection<T> values)

查看 NHibernate 的源代码(主干),似乎它们都将集合复制到对象数组并继续使用它,所以我认为它们之间没有性能差异。

我个人大部分时间只使用 In one - 它更容易阅读。

于 2008-09-17T21:24:53.310 回答
0

Restriction.In 肯定会使用您传递给 .In() 方法的任何条件创建一个子查询,但不确定 InG() 的作用。没见过。

于 2008-08-28T00:34:53.590 回答