0

私はFluent Nhibernateを初めて使用しています。私たちはデータアクセスのためのバックオフィスアプリケーションのためにそれを使用し始めました。流暢NHibernateデータベース初回設定

クライアントにはすでにデータベースがありますので、テーブルを生成したくないので、データベースの第1のアプローチを使用します。私はすでにこのコードを実行する前に、私のDBにこのテーブルを持っているので、コンセプトソリューションの証明のため

は、私は、セッションファクトリー構成

var oracleConfiguration = OracleDataClientConfiguration.Oracle10.ConnectionString("Data Source=MyDB;User Id=MyUserName; Password=myPassword; Pooling=true"); 
     return Fluently.Configure() 
         .Database(oracleConfiguration) 
         .Mappings(m => m.FluentMappings.Add<NhtestMap>()) 
         .ExposeConfiguration((config) => { new SchemaExport(config).Create(false, true); }) 
         .BuildSessionFactory(); 

以下で使用、メソッド「ExposeConfiguration」 'はテストテーブルを落としていますNHTest '。

私はいくつかのブログを読んで、このメソッドが最初の実行時にテーブルを作成することを知りました(これはコードファーストアプローチの必要な動作です)。しかし、私たちの場合、DB Firstアプローチでは、テーブルを削除したり作成したりしたくありません。

DBファーストアプローチのセッションファクトリを正しく構成するために、私を手伝ってもらえますか?

+3

ライン.ExposeConfiguration(...)を削除 – Fran

答えて

0

これを試してみてください:

var oracleConfiguration = OracleDataClientConfiguration.Oracle10.ConnectionString("Data Source=MyDB;User Id=MyUserName; Password=myPassword; Pooling=true"); 
     return Fluently.Configure() 
         .Database(oracleConfiguration) 
         .Mappings(m => m.FluentMappings.Add<NhtestMap>()) 
// Remove this line //.ExposeConfiguration((config) => { new SchemaExport(config).Create(false, true); }) 
         .BuildSessionFactory();