我有一個問題,我不知道如何最好地解決。異步SQL操作
我有一個應用程序更新數據庫以響應臨時請求。其中一項要求特別常見。請求是一個更新,本身很簡單,但有一些複雜的先決條件。
- 對於該請求業務層 第一個請求一組從 數據層的數據。
- 業務邏輯層評價 從數據庫中的數據和從請求 參數,從 這是 確定要執行的動作,並且創建所述請求的響應 (多個)消息。
- 業務層現在執行 實際更新命令,即請求的目的 。
最後一步是問題所在,該命令取決於數據庫的狀態,該數據庫可能在業務邏輯運行後發生變化。將數據讀取的數據鎖定在數據庫的幾次往返中似乎也不是一個好主意。有沒有一種「最佳實踐」的方式來完成這樣的事情? 謝謝!
是的,但是這會在存儲過程中放入業務邏輯(我希望能夠輕鬆更改)。 – Paul 2010-03-29 13:38:22
@Paul,如果存儲過程只是檢查以驗證數據沒有改變,則不行。我會爭辯說,如果你在BL中所做的一切都是檢查條件以確定更新的正確表/列,那麼應該在存儲過程中進行更新。 – AllenG 2010-03-29 13:41:47
檢查參照完整性和外鍵是否可行是最佳實踐,讓db通過結構和元數據隱式支持業務邏輯(而不是明確地通過設計好的過程代碼)也是一種很好的做法。 – amelvin 2010-03-29 13:42:03