Great post on database locking: 6 Ways of Doing Locking in .NET (Pessimistic and Optimistic)