2011-01-22 8 views
10

私はNHibernateの最新ビルドを使用していますが、linqで作業することはできません。私は既にusing NHibernate.Linqを追加しているので、それは問題ではありません。NHibernate.ISessionにLinqの定義がありません

using (ISession session = NHibernateHelper.OpenSession()) 
{ 
    var sss = session.Linq<Category>().ToArray(); <-- Error mentioned above. 
} 

何の拡張子メソッドにLINQは()NHibernate.Linqが使用するリストにあるthathという事実にもかかわらず、ISessionのために存在しないように見えます。何か案が?

おかげ

答えて

19

session.Linq<T>()はNHibernateの2.xのためのcontribプロバイダーです

session.Query<T>()は、組み込みのNHibernateの3.xではプロバイダ

+0

おかげマウリシオは、あなたは1つがある私に言うことができるためより良い?より良い意味では、より安定した、豊富な機能と優れたパフォーマンスを意味します。ありがとう:) – Davita

+1

@Davita:あなたがNHibernate 3.xを使っているなら、 'session.Query ()'を使ってください。 NHibernate 2.xを使用している場合は、contribプロバイダと 'session.Linq ()'を使用してください。それは本当に選択肢ではありません。 –

+0

私はそれを手に入れます。どうもありがとうございました :-) – Davita

関連する問題