我進入了一個使用.NET/C#作爲前端,SQL Server 2008作爲後端的應用程序。我發現ALWAYS事務是在C#代碼中處理的。看來這是一個不成文的規則,我們不應該使用存儲過程中的事務。事務應該在.NET或SQL Server中處理?
我個人覺得應該在存儲過程中處理事務,因爲它可以更好地控制代碼!我們可能會在腳本中發生大量驗證,而我們不需要公開交易。我們需要在插入/更新/刪除之前打開一個事務,並且可以儘快關閉它。
尋找答案可以幫助我理解處理交易的最佳實踐,以及何時我們需要選擇Stored Proc/C#中的交易。