Josh Darnell reminds us to check constructor defaults:
Despite the fact that the SQL Server default isolation level is
READ COMMITTED
, the default isolation level when usingTransactionScope
isSERIALIZABLE
.This problem has been around a long time. David Browne (Microsoft) wrote about it in checks watch 2010!
Read the whole thing.