2

さまざまな例、チュートリアル、ブログなどで両方の形式を見てきましたが、私の人生では、違いの説明を見つけることができません。違いは何ですか

ICriteria crit = session.CreateCriteria(typeof(Cat));

ICriteria crit = session.CreateCriteria<Cat>();

1 つをいつ使用し、もう 1 つをいつ使用しますか?

session.CreateCriteria(typeof(Cat)) を使用したチュートリアルの例は、http://nhibernate.info/doc/nh/en/index.html#quickstartにあります。

session.CreateCriteria() を使用したチュートリアルの例は、http://ayende.com/blog/4023/nhibernate-queries-examples (Cat ではなくブログのテーブル) にあります。

本当にありがとう!!

4

1 に答える 1

5

違いはありません。可能であればジェネリックを使用できます/使用する必要があり、 Type インスタンスにしかアクセスできない場合は非ジェネリックを使用します (いくつかのリフレクション)。

非ジェネリックは、Java からインポートされた瞬間から NHibernate の一部ですHibernate

ジェネリックがBuild 2.1.0.Alpha1リリースに追加されました。

しかし、結果は ( の結果と比較して)非ジェネリック であるため、単なるシンタックス シュガーです。ICriteriaQueryOver<T>()

于 2013-02-27T05:11:02.043 に答える