【问题标题】:how to get nhibernate to recognize a schema change如何让 nhibernate 识别架构更改
【发布时间】:2011-01-15 13:25:45
【问题描述】:

我的 nHibernate 在我的全新数据库上运行良好。事实上,让它根据映射文件生成架构非常有帮助。

但是,现在我的表中有数据,我需要开始更新架构。我不想使用 SchemaExport,因为它会删除所有表。我不想使用 SchemaUpdate,因为我需要一些非空列。这让我不得不手动更新数据库。没关系。

我进行更改,然后运行我的单元测试。他们失败了,但只是其中的一部分。

使用 .CreateCriteria 的查询从新添加的列中返回数据 使用 .CreateQuery 的查询不包含来自新添加列的任何数据

任何想法为什么会发生差异?

【问题讨论】:

  • 你在序列化配置吗?如果是这样,您将需要删除文件。否则,如果您的映射是正确的,它应该选择架构更改。
  • 映射是 NH 唯一了解您的架构的信息...
  • 这是一个新手错误。其中一个实体的映射文件不是嵌入式资源。

标签: nhibernate schema mapping


【解决方案1】:

如果您的 CreateQuery 方法正在处理原始 HQL 字符串,则它可能与更新它们一样简单(且乏味)。

【讨论】:

  • 这是一个菜鸟的错误。其中一个映射文件未标记为“嵌入内容”。更新了,一切正常!
猜你喜欢
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
  • 2010-09-19
  • 2019-06-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多