Я использую linq-sql, и это то, что мне нужно.Как повторить транзакцию, которая потерпела неудачу из-за тупика?
Sub Commit()
Try
StepStart:
Transaction Scope Serialized
Begin Transaction
Check BusinessRule1
Check BusinesRule2
if BusinessRulesFailed
{ Transaction.Rollback }
else {
Query = db.out
db.SubmitChanges()
Transaction.Commit()
}
Catch DeadLockException
Goto StepStart
End Try
End Sub
Можно ли следовать этому подходу? Может ли кто-нибудь дать мне пример в C# или VB.Net
Было бы лучше, если вы поняли, почему вы получаете затор, а не просто повторение сделки. –
У меня есть таблица с именем assetmeterreadings, на которой эта транзакция запрашивает проверку бизнес-правил. Но эта таблица постоянно используется другими транзакциями. –
@Robert Harvey; вы не можете ... только уменьшить их – gbn