在這種情況下,我應該將數據庫分成兩部分嗎?SQL Server:在表B執行CRUD時修改表A?
方案
雖然客戶創建,編輯,保存訂單在Order
表,網站所有者調用存儲過程來改變在Email
表表格屬性。
更新
唯一的關係Order表與電子郵件表是用戶ID(FK電子郵件上表)。那麼,如果WHILE客戶下訂單,會產生什麼後果,我同時在電子郵件表中添加一個可以爲空的「CcAddressId」列。這個訂單成功會發生問題嗎?
問題:
- 要麼有一個潛在的錯誤,如果同時出現的這些事件?
- 將數據庫分解成組會更好嗎?
這些表如何相關?是否可以編輯任一表中的鍵?有關這些主題的更多信息以及這些表格的結構可能會幫助您獲得更好的答案。 –
這是數據庫的目的。沒有兩件修改相同數據的事件會實際上完全同時發生;數據庫確保它們總是以某種順序發生,因此底層數據始終保持一致。這是通過事務和記錄/表鎖定自動完成的。 – mellamokb
實體框架(即單個DbContext/ObjectContext)不能同時與兩個數據庫一起使用。除了@mellamokb說的你可能想要使用樂觀併發來確保你沒有壓倒一切。檢查這個博客(這有點過時,但仍應該作爲出發點)http://blogs.msdn.com/b/alexj/archive/2009/05/20/tip-19-how-to-use-optimistic -concurrency-in-the-entity-framework.aspx並使用bing或google搜索「實體框架併發性」以查找更多信息。 – Pawel