Frederic, will all respect it is not viable to delay data binding in big
enterprise application with myriad of objects. This will require an enormous
amount of code to implement temporal storage of state for each object or
collection or reference. This what data binding for - to ease manipulation
of object state. Either you will need to duplicate all validation logic and
all of behavior in your intermediate objects or dumb down screen to stupid
"input form with DTO's underneath", as in this scenario you can't touch real
objects before commit.
Delaying modifications to object state is only a viable option for very
small apps.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of FrederikGheysels
Sent: Monday, June 22, 2009 4:23 PM
To: nhusers
Subject: [nhusers] Re: deep copy aggregate root


Well, you can implement an N-level Undo functionality (like I referred
to in my post), or , you can 'delay' the databinding on your WinForms
app to get a solution for your problem.
My first idea was to implement N-level undo functionality (which I've
done) on my base-entity class, but after a little bit of playing with
it, I thought it was overkill.  (Some of my entities have associations
to other entities, etc...  so a lot of data would be serialized).
Next to that, I didn't want to make all my entities serializable, so I
came up with another solution; that is: delaying the 2-way
databinding.
This problem is not directly related to NH, although I do find it a
pity that NH commits the changes you made to an entity when you flush
the session, even if you did not call 'SaveOrUpdate' for that entity.

On 20 jun, 17:35, Yevhen Bobrov <[email protected]> wrote:
> It is. It is not about NH problem but about what happens when changes
> are applied directly to the object and there is need to cancel them.
> This is what happens in usual WinForms application.
>
> On 20 июн, 18:15, Fabio Maulo <[email protected]> wrote:
>
>
>
> > 2009/6/20 Yevhen Bobrov <[email protected]>
>
> > > BTW, Frederik talks about such kind of problem here
>
> >
>http://fgheysels.blogspot.com/2009/06/winforms-databinding-on-cancell...
>
> > That is not a post about a problem, that is a post about a UI solution
and
> > as you can see there is no reference about the persistent-layer and no
> > reference about the usage of Clone.
> > Frederik had the good spirit, even showing the n-level-undo capability
of
> > CSLA (where, another time, the persistence-layer has nothing to do).
>
> > We'll wait your example showing your problem in detail; after have it we
can
> > talk about a solution if you can't find it.
>
> > --
> > Fabio Maulo
 

__________ Information from ESET Smart Security, version of virus signature
database 4174 (20090620) __________

The message was checked by ESET Smart Security.

http://www.esetnod32.ru
 
 

__________ Information from ESET Smart Security, version of virus signature
database 4174 (20090620) __________

The message was checked by ESET Smart Security.

http://www.esetnod32.ru
 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to