NHibernate не создает таблицы

var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(<ClassName>).Assembly);
new SchemaExport(cfg).Execute(false, true, false, false);

Предполагается, что приведенный выше фрагмент кода создает таблицу базы данных с именем <ClassName>.

Но это не создание.


person G Natarajan    schedule 22.02.2010    source источник
comment
Для начала вы заглянули в свой конфиг? Включено ли сопоставление классов, которое вы ожидаете?   -  person flq    schedule 22.02.2010


Ответы (2)


Ваши наиболее вероятные проблемы:

  • используя SQLite с connection.release_mode=on_close
  • нет файлов сопоставления в указанной сборке
  • файлы сопоставления не были добавлены в сборку как встроенный ресурс
  • файлы сопоставления не имеют имен *.hbm.xml
  • некоторые имена таблиц или столбцов должны быть заключены в кавычки для SQL (это вызовет исключение)
person Lachlan Roche    schedule 22.02.2010

Первый параметр Execute() должен быть истинным.

new SchemaExport(cfg).Execute(**true**, true, false, false);

Не знаю почему, но вот оно.

person Jorge Alves    schedule 08.09.2013