SchemaUpdate不会删除表或删除列

Zub*_*ber 4 nhibernate fluent-nhibernate

我正在使用SchemaUpdate根据某些配置对数据库进行更改.添加新表或列时,它可以正常工作.但是,删除列或删除表时,它不起作用.映射文件确实反映了这些更改,但SchemaUpdate似乎没有认识到这一点.我不想删除表并重新创建它们,因为我希望保留数据.

有谁知道SchemaUpdate是否支持这种"删除和删除"功能?

谢谢

mac*_*kow 8

它不是 - SchemaUpdate只会添加新的表/列.此行为是设计使然 - 您的模型可以(例如)映射到许多系统使用的数据库,并且它只能使用表/列的子集.在这种情况下,如果SchemaUpdate确实删除了那些列和表 - 它将破坏所有其他系统.

有关替代方案,请参阅NHibernate SchemaUpdate.