【问题标题】:NHibernate: Recreate Database with SchemaExportNHibernate:使用 SchemaExport 重新创建数据库
【发布时间】:2011-08-31 21:22:24
【问题描述】:

我有一个关于正确处理数据库重建的问题。

在我的开发环境中,我经常使用重新创建数据库

_schemaExport.Drop(true, true);
_schemaExport.Create(createResult, true);

(我必须注意,我使用 hilo 生成器。)在我重新创建数据库之后,有时由于 "Cannot insert duplicate key..." 导致新实体的保存失败例外

我的问题: 我是否必须重新初始化会话工厂(甚至可能是会话)才能正确地与使用 hilo 的新数据库同步?还是按原样工作?

感谢任何提示!

Lg
瓦拉帕

【问题讨论】:

    标签: nhibernate sessionfactory hilo schemaexport


    【解决方案1】:

    我会说您肯定必须在重新创建数据库后创建一个新会话。另一种选择是在重新创建数据库之前清除现有的。

    在您重新创建数据库后,ID 生成器将从头开始。这可能会导致某些生成的 ID 与先前存在的会话中另一个对象的 ID 相同。因此,您会收到重复的键错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 2011-03-28
      • 2013-05-22
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      相关资源
      最近更新 更多