2011-01-07 3 views
7

私はすべての構成が正しいと思いますが、今ではデータを選択してデータベースから選択クエリを実行しようとしています。今、私は今、私が見つけるすべてのLINQの例は、このコードHibernateでのLINQの使用

session.Linq<User>() 

を持っていますが、私の人生のために、私は見つけることができませんけれども、私のデフォルトサポートのLINQ(またはリンクの少なくともかなりの部分によって。NHibernateは3.0を使用していますどのようにセッションが設定されているのか?これは3.0で何をするのが適切なのでしょうか?もしそうなら、セッションを設定するにはどうすればいいですか?(必要なもの、クラス、メソッドなど...) ?NHibernateは3.0でLINQを使用する方法

UPDATE:

今私は、次のコードを持っています

var configuration = new Configuration(); 
configuration.Configure(); 
configuration.AddAssembly(typeof(Tag).Assembly); 
var sessionFactory = configuration.BuildSessionFactory(); 
var session = sessionFactory.GetCurrentSession(); 

しかし、NHibernate.ISessionにLinqの定義がないというコンパイラエラーが発生します。私は以下の使用方法を持っています:

using System.Collections.Generic; 
using System.Web.Mvc; 
using MyProject.Models; 
using MyProject.ViewModels.Desktop; 
using NHibernate.Cfg; 

私に何かが不足していますか?

+1

私はそれが 'session.Query (だと信じて)' NHibernate 3でLINQプロバイダがコアアセンブリに持ち込まれたとき –

+0

NHibernate wikiは良いリソースです開始するために - http://nhforge.org/wikis/howtonh/your-first-nhibernate-based-application.aspx –

答えて

8

using NHibernate.Linq; 

はまた、それは今だ:

session.Query<TEntity>(); 

の代わり:

// Deprecated 
session.Linq<TEntity>(); 
+0

はい、私はNHibernate 3の.Linqの代わりに.Queryを使用する必要があることを理解しました。ありがとう – ryanzec

2

NHibernate SessionFactory.CreateSession()メソッドからセッションを取得します。いったん持っていれば、HQLクエリ、NHクエリAPI、またはLINQのいずれかを使用してデータにアクセスできます。あなたが名前空間をインポートする必要が

関連する問題