我在我的 S#rpArchitecture/NHibernate 项目中使用 HiLo 生成器,并且我正在执行一个大型导入批处理。
我在某处读过关于预测任何新记录的低值的可能性,因为它们是在客户端生成的。我认为这意味着我可以自己控制低值,或者至少从某个地方获取下一个低值。
我想使用它的原因是我想设置与我将要插入的其他实体的关系。它们尚不存在,但将在批处理事务完成之前插入。
但是,我找不到有关如何设置低值或如何获得下一个低值的信息。
有任何想法吗?
我在我的 S#rpArchitecture/NHibernate 项目中使用 HiLo 生成器,并且我正在执行一个大型导入批处理。
我在某处读过关于预测任何新记录的低值的可能性,因为它们是在客户端生成的。我认为这意味着我可以自己控制低值,或者至少从某个地方获取下一个低值。
我想使用它的原因是我想设置与我将要插入的其他实体的关系。它们尚不存在,但将在批处理事务完成之前插入。
但是,我找不到有关如何设置低值或如何获得下一个低值的信息。
有任何想法吗?
你不需要预测任何事情来建立你的关系。它们是基于域模型而不是 ID 设置的。
使用 HiLo 的好处是 ID 是在客户端生成的(无论如何对您来说都是透明的),因此保留了工作单元(在刷新/提交之前不进行数据库写入),这与身份不同,其中插入是立即的。
推荐阅读: http: //fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html