Ich mache meine ersten Schritte mit NHibernate und versuche, meine Tabellen automatisch aus den hbm-Dateien zu erstellen. Das Datenbank-Back-End ist SQL Server 2008 Developer Edition.NHibernate SchemaExport erstellt keine Tabellen, wenn "script" false ist
Dies ist der gemeinsame Beispielcode ich in NHibernate Tutorials sehen:
var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(Posting).Assembly);
new SchemaExport(cfg).Execute(false,true,false,false);
Leider funktioniert das nicht. Ich habe show_sql auf "true" gesetzt und keine Anweisung ausgedruckt. Wenn ich den SQL-Profiler betrachte, sehe ich, wie sich meine Anwendung mit der DB verbindet, aber dann nichts tut.
Ich kann das Problem beheben, indem Sie den ersten Parameter zu ändern ("script") auf true:
new SchemaExport(cfg).Execute(true,true,false,true);
Ich verstehe nicht, warum. Die Parameter von SchemaExport sind leider nicht wirklich erklärt (auch nicht der Unterschied zwischen .Create und .Execute), und ich möchte herausfinden, was dieser Parameter bewirkt und warum er nicht benötigt wird, zB bei Verwendung der SQL Compact Edition (das funktioniert auch wenn Skript ist falsch)
Ich benutze dies mit NHibernate 3.3, es schreibt in Datei, aber nicht in die Datenbank. –