Winforms 如何使用Fluent Nhibernate取消绑定网格中的更改

Winforms 如何使用Fluent Nhibernate取消绑定网格中的更改,winforms,nhibernate,grid,fluent,Winforms,Nhibernate,Grid,Fluent,我无法找到使用fluent nhibernate处理绑定到一组数据的winform数据网格的模式 我有一个名为User的“fluent”类,正在使用以下内容填充数据网格: this.grid.DataSource= session.CreateCriteria.List 这非常有效,我在网格中看到了我的用户记录。我可以使用事务,也可以在网格中进行编辑后简单地刷新会话,所有内容都将正确地保持。但是,我不知道如何取消对网格中的用户对象所做的更改。即使我在session.BeginTransactio

我无法找到使用fluent nhibernate处理绑定到一组数据的winform数据网格的模式

我有一个名为User的“fluent”类,正在使用以下内容填充数据网格:

this.grid.DataSource= session.CreateCriteria.List

这非常有效,我在网格中看到了我的用户记录。我可以使用事务,也可以在网格中进行编辑后简单地刷新会话,所有内容都将正确地保持。但是,我不知道如何取消对网格中的用户对象所做的更改。即使我在session.BeginTransaction中打开表单,当我调用session.Transaction.RollBack时,这些更改也不会持久化到我的数据库中,但会话对象仍然具有这些更改,并在下次刷新会话时持久化


我到处寻找Win表单的最佳实践,但找不到解决此问题的方法。

首先,停止手动刷新会话。如果需要手动刷新会话,则设计可能存在严重错误。其次,使用事务。第三,不要让会话长时间处于活动状态。遵循。

首先,冲洗仅用于测试目的。其次,我正在使用事务。第三,我一直试图让会话只在包含datagrid的表单期间有效。我已经阅读并完成了UoW模式的测试实现,但它仍然不能帮助我回答我的原始问题,即:什么是一种模式/最佳实践,可以用于允许数据网格绑定到NHibernate实体列表,并能够取消在网格中所做的更改

我读到的关于在Winforms环境中使用fluent nhibernate的每个示例或博客都有一个用于编辑单个记录的弹出屏幕。我需要允许用户编辑网格中的实体