Атрибут обновления NHibernate и hbm2dll
-
20-09-2019 - |
Вопрос
я использую NHibernate с базой данных Sdf.В моем файле hibernate.cfg.xml я установил:
<property name="hbm2ddl.auto" value="update"/>
Но, похоже, это вообще не работает.Атрибут «Обновить» должен заставить NHibernate генерировать недостающие таблицы и столбцы во время запуска приложения, но этого не происходит.
Если я хочу, чтобы отсутствующие таблицы были созданы, мне нужно установить для свойства hbm2dll.auto значение «создать», что для меня не вариант, поскольку оно заранее удаляет существующее содержимое базы данных.
У меня возникла та же проблема с проблемой PostgreSql.Я что-то пропустил?
Решение 2
Насколько я помню, я решил проблему, используя:
new SchemaUpdate(_cfg);
Пожалуйста, прочитайте о SchemaUpdate в документации NHibernate.
Альтернативно вы можете попробовать использовать Fluent NHibernate, который определенно будет работать так, как вы ожидаете, и даже лучше!
Другие советы
Только что возникла та же проблема.Я изменил способ определения свойства.Вместо:
<property name="hbm2ddl.auto" value="update"/>
Я использовал:
<property name="hbm2ddl.auto">update</property>
Тогда это сработало :)