У меня есть существующее сопоставление 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"/>
Есть идеи у людей?
Спасибо,
Дэвид