Hello...
I think NHibernate will not support this for you. A Unit of Work should be a very short-lived thing, and not span any User Input. So I guess you need something else here.
Something you COULD look at is the CSLA framework. This Framework has a multi Level Undo implemented in its base Classes, and allows you to achieve exactly what you want. Also it can be used with NHibernate.
The "job" of CSLA is not persistence, but the Business Logic, so the 2 worlds wont have many overlaps. You can look at a recent DNRTV Episode to see a discussion about extracting the DAL from the framework and use DTO to load/save the data.
|