If using use , you mean built-in for SubSonic, then no. However, optimistic concurrency can be achieved with SubSonic quite simply.
Assuming you are using SQL Server (if not, I will let you translate the following instructions into a solution that works with your database provider), this is one way:
Include a type column timestampin each table that you want to provide concurrency.
CREATE TABLE Product
(
ProductID int NOT NULL IDENTITY(1,1),
Name varchar(256) NOT NULL,
RowStamp timestamp
)
Read the value of the timestamp along with the data to use it later for comparison.
var product = new SubSonic.Select()
.From<Product>()
.Where(Product.ProductIDColumn).IsEqualTo(productId)
.ExecuteSingle<Product>();
var rowStamp = product.RowStamp;
UPDATE . , , ( , )
var result = new SubSonic.Update(Product.TableSchema)
.Set(Product.NameColumn).Equal(newName)
.Where(Product.ProductIDColumn).IsEqualTo(productId)
.And(Product.RowStamp).IsEqualTo(rowStamp)
.Execute();
if (result != 1)
{
}