2009-08-20 10 views
1

簡単な質問、うまくいけば簡単な答えで。テーブルを作成してマップファイルを使用して、POCOクラスをデータベースオブジェクトにマップする必要があるという印象を受けました。NHibernateで作業する場合、マップファイルの前にデータベーステーブルを作成する必要がありますか?

マッピングで定義され、明らかに、テーブル構造を作成し、
new SchemaExport(_configuration).Execute(false, true, false, false); 

ので、私は困惑している:いくつかのチュートリアルに従った後、私は私のテストでは、このコードを持っています。

答えて

1

あなたはSchemaExportのためのマッピングファイルを必要としています。

理想的には、書き込み/まず自分のクラスを設計し、その後マッピングファイルを作成します。マッピングファイルを作成するときは、同時にデータベーステーブルを設計しています。 SchemaExportは、すべての情報が通常利用できるマッピングファイルからスキーマを作成するだけです。

SchemaExportのは、それがドキュメントに「隠された」ビットであったとしても、非常にお勧めです。

1

変更する唯一の場所を持っている方が良いです、あなたのケースでは、あなたのクラスに変更を加えると、あなたのDBは自動的に更新されます - あなたはもっと良いものを期待していますか?

時には既存のデータベースのための新たなコードを書くので、あなたが作成(または持っている)する必要がデータベースまず、手動マッピングを準備する必要があります。

EDIT: Fluent NHibernateを使用していますので、これは完全に自動的に行うことができますが、異なる環境ではわかりません。

関連する問題