Hold just the version key in session state as you describe should work fine in this scenartio.
John Davidson On Fri, Jul 23, 2010 at 9:07 AM, MattO <[email protected]> wrote: > Okay, so it appears that I should be using the version property on an > object (wich I assume uses that GetHashCode stuff people recommend > using with nHibernate correct??). > > Specifically it appears that I could just retain the version value in > session state and load the new database object from the database again > upon postback and then if the version key is the same then proceed > with the update. > > But according to this example it almost looks like they are retaining > the entire "foo" instance in session state, which obviously would > consume much more memory then if you just retained the version value > in session state. > > So how do people normally do it? > > On Jul 23, 6:53 am, Roger Kratz <[email protected]> wrote: > > Have you read the manual about opt concurrency control? > http://nhforge.org/doc/nh/en/index.html#transactions-optimistic > > > > ________________________________________ > > Från: [email protected] [[email protected]] för MattO > [[email protected]] > > Skickat: den 23 juli 2010 01:29 > > Till: nhusers > > Ämne: [nhusers] ASP .NET, Concurrency, and nHibernate Questions > > > > NHibernate users, > > > > I'm pretty new to nHibernate and I've been watching the summer of > > nhibernate series (very good btw!). I've also read this: > http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx > > and this: > http://nhforge.org/blogs/nhibernate/archive/2010/07/11/nhibernate-boo... > > > > All of those methods seem to suggest that Session Per Request is the > > way to go with nHibernate. Though this may work for multiple hits per > > session and speed things up, how do people do this for ASP .NET > > applications? > > > > My issue is that when I load the data via nHibernate the session goes > > away, and then when I want to save the data back to the database the > > data in the database may have already changed and I need to throw an > > exception to the user and give them the latest data. > > > > Can anyone provide a working code example on how they have handled > > this with the follow types of data: > > > > 1. Tables with timestamp columns > > 2. Tables without timestamp columns or any versioning columns to > > begin with, therefore I'm looking for the techniques in nHibernate > > that just pass in a huge WHERE SQL clause that compares all columns to > > make sure they are still the same and if not throws a concurrency > > violation. We have a lot of these due to legacy databases. > > > > Right now I have the session working on a per request basis in the > > ASP .NET demo application, but am looking for guidance on the > > concurrency issue (with code examples, and the appropriate HBM XML > > mapping examples). > > > > As I see it right now I need to have nHibernate go and retrieve the > > data from the database again, compare the timestamp value and if it is > > different then throw a concurrency violation to the user and give them > > the latest data to try update again. > > > > How have people done this in the past with highly volatile data using > > a stateless application such as ASP .NET? Any code examples you can > > point me to? > > > > -- > > 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]<nhusers%[email protected]> > . > > For more options, visit this group athttp:// > groups.google.com/group/nhusers?hl=en. > > -- > 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]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > > -- 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.
