<p>When creating a criteria in NHibernate I can use</p>

<p>Restriction.In() or<br>
Restriction.InG()</p>

<p>What is the difference between them?</p>

[{'answer_id': 31428, 'author': 'Sean Chambers', 'author_id': 2993, 'author_profile': 'https://Stackoverflow.com/users/2993', 'pm_score': 0, 'selected': False, 'text': '<p>Restriction.In definately creates a subquery with whatever criteria you pass to the .In() method, but not sure what InG() does. never seen it.</p>\n'}, {'answer_id': 87823, 'author': 'Gareth', 'author_id': 1313, 'author_profile': 'https://Stackoverflow.com/users/1313', 'pm_score': 5, 'selected': True, 'text': "<p>InG is the generic equivalent of In (for collections)</p>\n\n<p>The signatures of the methods are as follows (only the ICollection In overload is shown):</p>\n\n<pre><code>In(string propertyName, ICollection values)\n</code></pre>\n\n<p>vs.</p>\n\n<pre><code>InG&lt;T&gt;(string propertyName, ICollection&lt;T&gt; values)\n</code></pre>\n\n<p>Looking at NHibernate's source code (trunk) it seems that they both copy the collection to an object array and use that going forward, so I don't think there is a performance difference between them.</p>\n\n<p>I personally just use the In one most of the time - its easier to read.</p>\n"}]
['https://Stackoverflow.com/questions/31424', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/493/']