Why not use optimistic concurrency and dynamic updates instead? On Apr 16, 11:45 am, NK <[email protected]> wrote: > Hi, > > We use a DTO pattern in our application to send information to several > clients applications from our central business logic server which uses > NHibernate for ORM. We are trying to implement optimistic concurrency > control using the version property. The version is generated by the > database (SQL Server Timestamp column). > > Here is the sequence of actions > > Client 1 requests data > Session 1: > a. Load business object (RowVersion 1) > b. Copy business object properties to DTO along with row version > Session 1 closed > > Client 2 updates data of the same business object (RowVersion 2) > > Client 1 submits updated data > Session 2: > a. Load business object (RowVersion 2) > b. Update business object properties from DTO along with row version > (RowVersion 1) > c. Save business object and commit transaction > Session 2 closed > > In session 2, when the update statement is generated (call to public > void NullSafeSet(System.Data.IDbCommand cmd, object value, int index) > in our custom timestamp column), the "value" param is taken from the > business object loaded in the session, rather than the value updated > from the DTO. > > I have read forum posts saying that the RowVersion should not be > touched, but we cannot avoid this in a DTO pattern. Is there any way > to work around this? We are 2 years into the development and cannot > remove the DTO pattern. I am sure this is not a new problem and would > really appreciate any help. > > Thanks!! > > -- > 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 > 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]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
