新しいプロジェクトでDDDを使い、私のクラスをモデル化してからクラスライブラリに基づいてデータベーススキーマを生成します。私の計画は、NHibernate hbm2ddlツールSchemaExport
でこれを行うことです。NHibernate SchemaExportとConfigure()catch-22
問題は、私はSchemaExport
が原因で、それは私を置く奇妙なキャッチ22問題の仕事を得ることができないということである。SchemaExport
自体は有効なNHibernateの設定ファイルなどのセットが必要Configuration
オブジェクトが必要ですデータベースマッピング。
キャッチ-22ここでは、私は設定を()を実行するとき、それはSchemaExport
は、私が作成することはできませんConfiguration
に基づいて、それを作成することになっている間にConfigure()
方法は、存在するテーブルを必要とするので、"Could not determine the name of the table for entity 'MyEntity'; remove the 'table' attribute or assign a value to it."
を不平を言うことですテーブルが存在しないためです。
だから、地球上で私はConfigure()
スローをせずに有効なNHibernateのConfiguration
がSchemaExport
が実際に役に立つ何かをするために必要なマッピングを含む作成し、それがSchemaExport
で作成されるテーブルを見つけることができないと文句を言うことになっていますか?私はConfiguration
オブジェクトを設定することができる "モード"はありますか?それは、指定されたテーブルの存在をデータベースでチェックしないでしょうか?
チップをありがとう。私はHBMを自分で書くのではなく、Fluent NHibernateによって動的に生成されるので、結果として生じるHBMの 'table'属性に設定される "GetTableName"規則にエラーがあることに気付かなかった空の文字列 生成されたHBMファイルを手に入れることで、問題が非常に明確になり、数秒で修正できました。わーい! :) –