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.

Reply via email to