NHibernate:使用SchemaExport重新创建数据库

NHibernate:使用SchemaExport重新创建数据库,nhibernate,sessionfactory,hilo,schemaexport,Nhibernate,Sessionfactory,Hilo,Schemaexport,我有一个关于正确处理数据库的问题 在我的开发环境中,我经常使用 _schemaExport.Drop(true, true); _schemaExport.Create(createResult, true); (我必须注意,我在重新创建数据库之后立即使用了hilo生成器),有时由于“无法插入重复键…”异常而导致新实体的保存失败 我的问题: 我是否必须重新初始化会话工厂(甚至可能是会话),以便与使用数据库的新hilo正确同步?或者它能按原样工作吗 任何提示都将不胜感激 Lg warappa我想

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

在我的开发环境中,我经常使用

_schemaExport.Drop(true, true);
_schemaExport.Create(createResult, true);
(我必须注意,我在重新创建数据库之后立即使用了hilo生成器),有时由于
无法插入重复键…”
异常而导致新实体的保存失败

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

任何提示都将不胜感激

Lg

warappa

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


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

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

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