2011-02-08 185 views
0

我無法弄清楚用於使用流暢的nhibernate綁定到一組數據的Winform數據網格的模式。如何使用Fluent Nhibernate取消綁定網格中的更改

我有稱爲用戶A '流利' 類,並使用AM填充數據網格以下:

this.grid.DataSource = session.CreateCriteria <用戶>()列出<用戶> ();

這很好,我在我的網格中看到我的用戶記錄。我可以使用一個事務,或者在網格中進行編輯之後直接刷新會話,並且所有內容都將保持正確。但是,我無法弄清楚如何取消對網格中的用戶對象所做的更改。即使我在session.BeginTransaction中打開表單,當我調用session.Transaction.RollBack()時,這些更改也不會持久保存到我的數據庫中,但會話對象仍然具有更改,並在下一次刷新會話時保留下來。

我已經找遍了Win Forms的最佳實踐,並且找不到解決此問題的方法。

回答

0

首先,停止手動刷新會話。如果您需要手動刷新會話,那麼設計可能會出現嚴重問題。其次,使用交易。第三,不要讓你的會議長時間保持活躍狀態​​。按照Unit of Work pattern

0

首先,沖洗僅用於測試目的。其次,我正在使用交易。第三,我一直試圖讓一個會話只在包含數據網格的表單期間生存。我已經閱讀並完成了UoW模式的測試實現,但它仍然無法幫助我處理我的原始問題,即:什麼是可以用來允許數據網格綁定到的模式/最佳實踐NHibernate實體列表,並能夠取消在網格中所做的更改。

我讀過的關於在Winforms環境中使用流利的nhibernate的每個示例或博客都有彈出窗口來編輯單個記錄。我需要允許用戶編輯網格中的實體。

相關問題