I\'m in a world of pain with this one, and I\'d very much appreciate it if someone could help out.
I have a DataContext attached to a single test table on a database
I finally figured out what was happening with this. Apparently, the "no count" option was turned on for this server.
In Microsoft SQL Server Management Studio 2005:
Apparently, LINQ to SQL uses @@ROWCOUNT after updates to issue an automated optimistic concurrency check. Of course, if "no count" is turned on for the entire server, @@ROWCOUNT always returns zero, and LINQ to SQL throws a ConcurrencyException after issuing updates to the database.
This isn't the only update behavior LINQ to SQL uses. LINQ to SQL doesn't perform an automated optimistic concurrency check with @@ROWCOUNT if you have a TIMESTAMP column on your table.