10
|
Ewan Makepeace · 技术社区 · 15 年前 |
1
4
Ayende和公司通常建议每个“对话”使用一个会话。这通常会使会话生存期持续很短的操作,因此它的行为更像一个web应用程序。 对于树型情形,可以使用Bruno的解2。对象可以延迟映射。然后,每次需要访问子集合时,都会启动一个对话并通过重新连接父集合ISession.锁. 然后,当数据绑定完成时,关闭该会话。不需要太多的开销来维护,只需要几行任何形式的代码就可以进行对话;如果您觉得很时髦,您可以扩展表单和正在使用的控件来自动执行此操作。 那么,棘手的部分是来自不同会话的并发编辑。我们不要去那里! |
2
3
当我需要一个会话时我会打开它,当我知道我不再需要它时我会关闭它。 更具体地说,例如,如果我有一个表单,它允许我编辑客户信息,那么当表单实例化时,我将打开一个会话,当表单关闭时,我将关闭会话。 当我打开了2个表单实例时,我也打开了2个会话。 |
3
1
我可以看到两种选择:
|
4
1
你可以看看我关于如何使用uNHAddins在Windows窗体应用程序中处理每个会话的帖子(uNHAddins是一个项目,由NH现任负责人Fabio Maulo领导的NHibernate中添加了一些内容) 第一篇文章是这样的 http://gustavoringel.blogspot.com/2009/02/unhaddins-persistence-conversation-part.html 从那里你有链接到unaddins主干。 |
Nico Pizzo · 子查询上的nhibernate联接 6 年前 |
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 6 年前 |
Stu · 具有特定类型的字符串外键的NHibernate映射 6 年前 |
Zout · 为Hibernate的HiLo算法管理的列生成ID 7 年前 |