0
我已使用该映射语法的现有的NHibernate 2.1.2.4000映射:映射数据库对象'创建'不执行,但'放'正在执行?
<database-object>
<create>
CREATE VIEW View_Register AS ... (truncated for example)
</create>
<drop>
DROP VIEW View_Register
</drop>
</database-object>
当数据库模式被创建,我使用:
new SchemaExport(_configuration).Execute(true, true, false, aSession.Connection, tw);
的方法中的第三个参数是上述' dropOnly“,这显然设置为false。
过去,我的模式已经创建,'View_Register'成功创建。现在,我重新运行模式生成,并在架构生成开始时调用DROP,但CREATE从不调用。我已经用多个SQL分析器(包括NH分析器)证实了这一点。
使用显式声明的话似乎没有工作,要么:
<dialect-scope name="NHibernate.Dialect.MsSql2000Dialect"/>
<dialect-scope name="NHibernate.Dialect.MsSql2005Dialect"/>
<dialect-scope name="NHibernate.Dialect.MsSql2008Dialect"/>
任何想法乡亲?
感谢,
大卫