3

の違いは何ですか?

Session.Query
Session.Linq および
Session.QueryOver

私が本当に興味を持っていること:
将来のバージョンでサポートされるもの。
クリーンなプロジェクトで何を使い始める必要がありますか。

この3つについて、あなたの考えを教えてください...

ありがとう、ゾルタン

4

1 に答える 1

5

Session.Query は、NHibernate 3.0 で大幅に改善された新しい linq プロバイダーを使用する場合に使用するクラスです。linq を使用していて、新しいプロジェクトを開始する場合は、これが使用するクラスです。

Session.Linq は、古い linq プロバイダーを使用する場合に使用するクラスです。このクラスは、古いコード ベースでのみ使用すると思います。古い linq プロバイダーは実際には Criteria API のラッパーであり、単純なクエリには問題ありませんが、要求が厳しくなると制限があることが知られています。

Session.QueryOver は、NHibernate の Criteria API のラッパーです。Criteria API にすでに精通している場合、これは非常に親しみやすいインターフェイスです。ほとんどの文字列が削除され、ラムダ式に置き換えられます。非常に流暢なインターフェースです。構文は linq に似ていますが、これはlinq プロバイダーではありません。

この時点で、Query および QueryOver インターフェイスを使用したいと思います。

于 2010-08-19T01:22:08.703 に答える