我正在使用NHibernate和Sdf数据库。在我的hibernate.cfg.xml文件中,我设置了:
<property name="hbm2ddl.auto" value="update"/>
但这似乎根本不起作用。 “更新”属性应该使NHibernate在应用程序启动期间生成缺少的表和列,但它不会发生。
如果我希望丢失表格,我必须将hbm2dll.auto属性设置为“create”,这对我来说不是一个选项,因为它预先丢弃了现有的db内容。
我遇到了与PostgreSql问题相同的问题。我错过了什么吗?
答案 0 :(得分:2)
刚刚遇到同样的问题。我改变了属性的定义方式。而不是:
<property name="hbm2ddl.auto" value="update"/>
我用过:
<property name="hbm2ddl.auto">update</property>
然后它起作用了:)
答案 1 :(得分:1)
据我记得,我使用以下方法解决了问题:
new SchemaUpdate(_cfg);
请阅读NHibernate文档中的SchemaUpdate。
您也可以尝试使用Fluent NHibernate,它将按照您的预期进行定义,甚至更好!