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 のソース コード (trunk) を見ると、どちらもコレクションをオブジェクト配列にコピーしてそれを使用しているように見えるので、パフォーマンスの違いはないと思います。

私は個人的に、ほとんどの場合 In one を使用しています - その方が読みやすいです。

于 2008-09-17T21:24:53.310 に答える
0

Restriction.In は、.In() メソッドに渡す基準を使用してサブクエリを確実に作成しますが、InG() が何をするかはわかりません。見たことがない。

于 2008-08-28T00:34:53.590 に答える