2011-02-18 33 views
0

我刚才问了一个关于回滚的问题,我有一个新的相关问题,我有一个答案,但想要一些输入。持久性和回滚,模型,C#

因此,我正在构建一个持久性的无知对象模型,现在我正在考虑回滚。我已经看过nHibernate如何管理它,并且这表明如果我想要取消未保存的更改,我需要在域对象上实现自己的实现。

所以我在ComponentModel中看到了IEditableObject,它简洁地描述了这个问题。微软的例子与描述一致,几乎是我所做的,他们有一个包含实际数据的私有结构,当数据改变时,原始数据被保存并创建一个新数据。那和INotifyPropertyChanged通知该对象已重置。

有没有人做过类似的事情?你能建议一个更好的模式?

回答

2

我建议你在他的框架CSLA.NET上阅读Rocky Lhotka的一些东西:http://www.lhotka.net/。我不确定我会推荐实际使用它,但他非常全面地涵盖了回滚和业务对象数据一致性等内容。

+0

你知道吗,他写了一本书,我有一个偷偷摸摸的怀疑,我买了没读过。当我回家时可能会感到惊喜:) – Ian 2011-02-18 15:39:51