NHibernateで私の最初のステップを踏んで、hbmファイルからテーブルを自動的に作成しようとしています。データベースバックエンドはSQL Server 2008 Developer Editionです。NHibernate SchemaExportは "script"がfalseのときにテーブルを作成しません。
var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(Posting).Assembly);
new SchemaExport(cfg).Execute(false,true,false,false);
悲しいことに、これは動作しません:
これは、NHibernateのチュートリアルでは、私が見る共通のサンプルコードです。私はshow_sqlをtrueに設定しており、文を出力しません。 SQLプロファイラを見ると、私のアプリケーションはDBに接続していますが、何もしません。
私がtrueに最初のパラメータ(「スクリプト」)を変更することでこれを修正することができます
new SchemaExport(cfg).Execute(true,true,false,true);
私は理由を理解していません。 SchemaExportのパラメータは悲しいかなか実際には説明されていません(.Createと.Executeの違いでもありません)。このパラメータが何をしているのか、SQLコンパクトエディションを使用しているときscript is false)
これをNHibernate 3.3で使用していますが、これはファイルに書き出しますが、データベースには書き込まれません。 –