Star date: 2010.040
LINQ to SQL has built in optimistic concurrency checking. When you create an unattached entity and then attach it (ie: with the Attach()
function) the concurrency check will always fail by throwing a ChangeConflictException
unless one of the two are true:
Using a timestamp column seems like the more elegant solution, but it does require that you know the timestamp value. This usually means that if you're attaching the result of a stored procedure so that you can save back the results, your stored procedure needs to return the timestamp in addition to the primary key.