Yes, you can.
Awesome. Very happy.
Is there any useful usage for this
In our web world, we generally just use last one wins, so I turn it off for 2 reasons:
1. Performance, it adds a where clause check for every field
2. You cannot Attach an entity that has all the fields because it will want the original values for the concurrency check. This forces you to reload the object every time.
There is another way to do optimistic concurrency with a timestamp, which would be a good option, this article sums it up pretty well: http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/. When I have a timestamp in the table, the L2S designer marks all fields UpdateCheck=Never and sets the timestamp=true. Here is the DBML line:
<Column Name="timestamp" Type="System.Data.Linq.Binary" DbType="rowversion NOT NULL" CanBeNull="false" IsVersion="true" />
and the column attribute is:
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_timestamp", AutoSync=AutoSync.Always, DbType="rowversion NOT NULL", CanBeNull=false, IsDbGenerated=true, IsVersion=true, UpdateCheck=UpdateCheck.Never)]
Personally I like it off and I like LLBLGens framework better, but I am trying to support a current L2S project and not use the crappy MS interface.
Brian
Brian