【发布时间】:2010-03-16 00:36:39
【问题描述】:
我正在使用 NHibernate 创建一个 Windows 窗体应用程序。它是一个 MDI 应用程序,因此用户可以同时打开多少个表单(可能很多)没有限制。
对于大多数表单,我希望有一个“确定”和一个“取消”按钮。两者都关闭表单,但“确定”也会将修改后的数据保存到数据库中。表单可能非常复杂,修改可能会触及整个对象图,添加一些、删除一些和更改更多。如果可以根据需要自动检测并保留更改,而不需要手动跟踪每个更改,那就太好了。
什么是这样做的好方法?
额外信息:我可以制作任何我想要的数据库架构。我正在使用 MSSQL 2008,目前已决定使用 GUID 主键(使用 guid.comb 生成器)和用于乐观并发的 TIMESTAMP 列。
我尝试简单地将 NHibernate ISession 的 FlushMode 设置为 Never,根据需要进行所有修改,然后在用户单击 OK 时调用 Flush()。 But that didn't work.
【问题讨论】:
标签: winforms nhibernate hibernate