Делая мои первые шаги с NHibernate, я пытаюсь, чтобы он создавал мои таблицы автоматически из файлов hbm. Бэкэнд базы данных - SQL Server 2008 Developer Edition.
Это общий пример кода, который я вижу в учебниках NHibernate:
var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(Posting).Assembly);
new SchemaExport(cfg).Execute(false,true,false,false);
К сожалению, это не работает. Я установил для show_sql значение true, и оно не печатает никаких утверждений. Глядя на профилировщик SQL, я вижу, как мое приложение подключается к БД, но ничего не делает.
Я могу это исправить, изменив первый параметр («скрипт») на true:
new SchemaExport(cfg).Execute(true,true,false,true);
Я не понимаю, почему. К сожалению, параметры SchemaExport на самом деле не объяснены (также нет разницы между .Create и .Execute), и я хотел бы выяснить, что делает этот параметр и почему он не нужен, то есть при использовании SQL Compact Edition (это работает также тогда, когда сценарий неверен)