熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ADO.NET Entity Framework—並發

2013-11-13 09:41:01  來源: .NET編程 

  提到數據庫操作特別是企業級的數據庫應用就不得不提一個多人操作時經常會產生的問題——並發沖突本文首先來看一下什麼是並發沖突傳統的並發沖突有現有的處理方式最後結合EF看一個處理並發沖突的實例

  一要完成本文中的實例您需要作如下准備
將Visual Studio NET Framework 升級到SP點擊轉到升級地址 安裝SQL SERVER VS 中自帶的EXPRESS版的SQL SERVER應該也可以用 下載並附加數據庫點擊下載DemoDbV 創建一個VB Console Application並且取一個合適的名字(例如Concurrency之類的)注意目標Framework要設置成什麼是並發沖突
讓我們來看一個跟取款相關的例子某年某月某日某時某分老王在A取款機取錢他兒子小王同時在B取款機取錢(不要問我為什麼這麼巧^_^)他倆從同一個賬號上取於是就發生了如下一序列的操作

  A取款機向中央數據庫提問這賬上還有多少錢

  B取款機向中央數據庫詢問這賬上還有多少錢

  中央數據庫回答A取款機W

  中央數據庫回答B取款機W

  然後老王對A取款機說我要取出W

  同時小王對B取款機說我要取出W

  A取款機就算了一下WW=W>於是就吐出W現金給了老王並且准備告訴中央數據庫現在還剩W啦但是就在它告訴中央數據庫之前發生了以下的事情

  B取款機計算了一下W(此時它還不知道余額已經成W了因為A取款機還沒有告訴中央數據庫)減去W等於W大於於是就吐出W現金給了小王然後它當然也要知會中央數據庫

  中央數據庫於是收到A取款機的消息這個賬號還剩W於是刷新余額為W然後又收到B取款機說還剩W於是就刷新余額為W


From:http://tw.wingwit.com/Article/program/net/201311/11326.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.