如何更新 Nhibernate 中的 varchar 列长度?

Posted

技术标签:

【中文标题】如何更新 Nhibernate 中的 varchar 列长度?【英文标题】:How to update varchar column lengths in Nhibernate? 【发布时间】:2011-05-13 00:11:45 【问题描述】:

我正在使用 Nhibernate 和 Fluent Nhibernate。

我掉进了我认为很多新用户都会落入的陷阱,最后我的所有 varchar 列都变成了 255 个字符。由于政治原因太无聊了,我不应该删除这些字段中的数据(嘘),所以我需要更新列长度而不删除和重新创建表。

但是,如果我将字符串长度约定应用于 Fluent 配置,并使用 NHibernate UpdateSchema 方法,则似乎只有新表才能获得新的 varchar 长度。这是正确的吗?有没有办法将其应用于现有表?

【问题讨论】:

【参考方案1】:

您不一定需要 nHibernate 来实现这一点.. 您没有提到底层数据库实例是什么,但我确信它具有更新列属性的选项。我认为这是最简单的解决方案。

【讨论】:

【参考方案2】:

UpdateSchema 仅应用非破坏性更新。它不是作为迁移实用程序,而是用于在开发过程中快速更改模型/数据库表。有关更多信息,请参阅我对NHibernate, ORM : how is refactoring handled? existing data? 的回复。

【讨论】:

以上是关于如何更新 Nhibernate 中的 varchar 列长度?的主要内容,如果未能解决你的问题,请参考以下文章

NHibernate 中的自动更新包

NHibernate中的批量更新

如何使用 NHibernate 模式生成更新数据库表模式?

如何使用 nhibernate 更新主键

如何在nHibernate中运行更新HQL查询?

如何使用 Fluent nhibernate 正确更新行?