1

NHibernate の古いバージョンでは、ICriteriaQuery に「AddUsedTypedValues」というメソッドがありました。NHibernate 3.1 にアップグレードした後、そのような方法は存在しません。そのメソッドが(別のインターフェースに)移動された場所、またはNHibernateが明示的にサポートを削除した場所を知っている人はいますか?

ありがとう!

4

1 に答える 1

1

メソッドAddUsedTypedValuesは、 (AbstractCriterion:)ICriterion内部実装と同様に置き換えられました。AddUsedTypedValuesは、パラメーターを挿入する方法であり、後でsqlStringBuilder.AddParameter()などのICriterion実装者内で呼び出されました。(したがって、追加と使用からの距離は重要であり、明示的ではありません)現在のバージョン(3+)はICriteriaQueryメソッドを提供します

IEnumerable NewQueryParameter(TypedValueパラメーター);

これは、パラメーターの配列を取得するために使用でき、SQLステートメントの作成時に明示的に使用できます。

var parameter = criteriaQuery.NewQueryParameter(typedValue).Last()
sqlStringBuilder.Add(parameter); 

これで、SQLステートメントに追加されるパラメーターが明確になりました。私は自分のICrietrionを実装しなければならなかったので、私もその問題に直面しました...

于 2012-10-24T04:39:31.213 に答える