Hm...i didn't understand why you want to reload anything, if you do your
editing directly in the grid? If you display your
data in a grid, the session is no longer there. If the user edits something
and commits the changes you can simply
call Repository.doSave(customer). There is no reload involved. If the user
cancels nothing happens anyway. A reload
is only needed if the editing spans multiple forms.

2009/6/20 Yevhen Bobrov <[email protected]>

>  This is very poor performance. You can have 3 db hits per such simple
> stuff.
>
> Imagine that you have a Customers grid. And user starts editing current
> cell - 1 load. Lag.
>
> Than it can discard edit. Not bad - nothing will happen.
>
> Or he could commit changes - 2 hits. One for save and one for reload.
>
> And now imagine that user should be able to quickly edit many rows in that
> grid by just changing few of the cells in each row and db is on WAN.
>
> And I do need to apply changes directly to domain object because some
> behavior need to be triggered, validations,  calculations etc need to run.
>
> Rich domain model.
>
> *From:* [email protected] [mailto:[email protected]] *On
> Behalf Of *Belvasis
> *Sent:* Saturday, June 20, 2009 11:43 PM
>
> *To:* [email protected]
> *Subject:* [nhusers] Re: deep copy aggregate root
>
>
>
> Yes, there is always a reload involved. If i call CustomerEdit, i have to
> load the customer within a new session. If from there on other
> UseCases are invoked, they work with this customer and in "its" session. So
> if the user cancels the hole editing process, there is
> no need for one more reload, since nothing was really changed. If he saves
> it, i have to reload the original entity, but this is more an
> admission to the NH session mechanic.
>
> 2009/6/20 Yevhen Bobrov <[email protected]>
>
> What do you do when user cancels edit? Reload entity from db?
>
>
>
> *From:* [email protected] [mailto:[email protected]] *On
> Behalf Of *Belvasis
> *Sent:* Saturday, June 20, 2009 8:25 PM
>
>
> *To:* [email protected]
> *Subject:* [nhusers] Re: deep copy aggregate root
>
>
>
> I can agree to the part that using NH in a desktop app is not so easy and
> informations about it are very rare. But in the end it is all
>
> manageable and i don't see why one would need to make a clone of the
> complete object graph. I use an approach where i can
> control by myself for what number of UseCases one single session should be
> used.  So if the user wants to edit the OrderLines
> from an Order the used session depends from where the user did start the
> UseCase. If he comes from CustomerEdit one session
> is used for CustomerEdit, OrderEdit and OrderLineEdit. If he comes from
> OrdersView, a fresh Session for OrderLineEdit is used.
> So it is easy to "avoid applying the changes > just don't apply them." I
> don't know if this is the prefered way, but it works nicely for
> me.
>
> 2009/6/20 Gustavo Ringel <[email protected]>
>
> If you were not looking for help but just was looking for a clone
> implementation in NH you should have open a JIRA and discuss with the
> developers.
>
>
>
> If you put it here, you were asking for others opinion.
>
>
>
> If i offended you because i gave you my opinion i succeeded in a new way to
> offend someone.
>
>
>
> I loved the "Last post" in your message.
>
>
>
> Gustavo.
>
> 2009/6/20 Yevhen Bobrov <[email protected]>
>
>
>
>
> > I really think the thread derived to something unuseful. The link you put
> > here is horrible.Every blog / sample application will look awful because
> you
> > are trying to put things in a real working application, not trying to
> show a
> > concept like in a sample app.
>
> I think it is arrived at something useful. It is arrived to conclusion
> that:
> 1. There is no useful NH WinForm app on the net.
> 2. Asking for help in this group will make flames and war instead of
> help.
>
>
> > If you are looking for N undo's on a en entity you can look for CSLA
> > framework or something like that.
>
> I'm not looking for N undo's - I'm looking for possibility from NH to
> make clone of object graph for me. If there is no such thing (and it
> seems like there is really no such support) than on - we will find
> another solution (like manual cloning).
> I don't need nor want CSLA. I want NH.
>
>
> > If you want to bind an entity and at the end avoid applying the changes,
> > just don't apply them.
>
> How to understand this? Do I need to have another copy of object graph
> data? And how this should be handled - manually? If I have a complex
> aggregate with you advice I need to write the same amount of code just
> for that? What if I NEED immediate changes to object so some behaviour
> can be triggered or validation run?
>
>
> > If what you want is NH to take care of changes then you CAN REALLY use
> the
> > links that fabio gave you because you didn't close the session when you
> use
> > CpBT and NH will know every change on the entity when you go back to your
> > model.
>
> I CANT REALLY use the links as there only 2 WinForm apps. Both haven't
> have more than I already have. One even in Spanish :)
>
>
> > I think you didn't take the time trying to understand what was done
> there,
> > and i really don't think a deep clone is something you want to apply in a
> > _real_ application.
>
> Gustavo, I'm doing (only) WinForms development with NH for a few years
> and know what I'm talking about. You just offended me for nothing
> without even trying understand or read the whole discussion properly.
>
> Last post ...
>
>
> On 20 июн, 18:15, Gustavo Ringel <[email protected]> wrote:
> > I really think the thread derived to something unuseful. The link you put
> > here is horrible.Every blog / sample application will look awful because
> you
> > are trying to put things in a real working application, not trying to
> show a
> > concept like in a sample app.
> >
> > If you are looking for N undo's on a en entity you can look for CSLA
> > framework or something like that.
> > If you want to bind an entity and at the end avoid applying the changes,
> > just don't apply them.
> >
> > If what you want is NH to take care of changes then you CAN REALLY use
> the
> > links that fabio gave you because you didn't close the session when you
> use
> > CpBT and NH will know every change on the entity when you go back to your
> > model.
> >
> > I think you didn't take the time trying to understand what was done
> there,
> > and i really don't think a deep clone is something you want to apply in a
> > _real_ application.
> >
> > Gustavo.
> >
>
> > 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.
> ..
>
> >
> > > On 20 июн, 17:38, Fabio Maulo <[email protected]> wrote:
> > > > 2009/6/20 Yevhen Bobrov <[email protected]>
> >
> > > > > Not even a single "real" WinForm application.
> >
> > > > There is no more blind than who does not want see.
> >
> > > > The second link is an Example of winForm app.
> > > > The first show more than one guys sharing their experience using NH
> in
> > > > winForm.
> >
> > > > Btw in not my problem.
> > > > Continue with your attitude, chatting without do nothing that for
> sure
> > > you
> > > > will solve *your problem*.
> >
> > > > --
> > > > Fabio Maulo
>
>
>
>
>
>
>
>
>
> __________ Information from ESET Smart Security, version of virus signature
> database 4173 (20090620) __________
>
>
>
> The message was checked by ESET Smart Security.
>
>
>
> http://www.esetnod32.ru
>
>
>
> __________ Information from ESET Smart Security, version of virus signature
> database 4173 (20090620) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.esetnod32.ru
>
>
>
>
>
>
>
> __________ Information from ESET Smart Security, version of virus signature
> database 4173 (20090620) __________
>
>
>
> The message was checked by ESET Smart Security.
>
>
>
> http://www.esetnod32.ru
>
>
> __________ Information from ESET Smart Security, version of virus signature
> database 4173 (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