成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq開(kāi)放式并發(fā)深入剖析

開(kāi)發(fā) 后端
這里介紹Linq開(kāi)放式并發(fā),在 LINQ to SQL 對(duì)象模型中,當(dāng)以下兩個(gè)條件都得到滿足時(shí),就會(huì)發(fā)生“Linq開(kāi)放式并發(fā)沖突”:客戶端嘗試向數(shù)據(jù)庫(kù)提交更改;

在向大家詳細(xì)介紹Linq開(kāi)放式并發(fā)之前,首先讓大家了解下Linq開(kāi)放式并發(fā)控制,然后全面介紹Linq開(kāi)放式并發(fā)。

Linq開(kāi)放式并發(fā)控制

在 LINQ to SQL 對(duì)象模型中,當(dāng)以下兩個(gè)條件都得到滿足時(shí),就會(huì)發(fā)生“Linq開(kāi)放式并發(fā)沖突”:客戶端嘗試向數(shù)據(jù)庫(kù)提交更改;數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)更新檢查值自客戶端上次讀取它們以來(lái)已得到更新。 此沖突的解決過(guò)程包括查明對(duì)象的哪些成員發(fā)生沖突,然后決定您希望如何進(jìn)行處理。

Linq開(kāi)放式并發(fā)(Optimistic Concurrency)

說(shuō)明:這個(gè)例子中在你讀取數(shù)據(jù)之前,另外一個(gè)用戶已經(jīng)修改并提交更新了這個(gè)數(shù)據(jù),所以不會(huì)出現(xiàn)沖突。

  1. //我們打開(kāi)一個(gè)新的連接來(lái)模擬另外一個(gè)用戶  
  2. NorthwindDataContext otherUser_db = new NorthwindDataContext();  
  3. var otherUser_product =  
  4. otherUser_db.Products.First(p => p.ProductID == 1);  
  5. otherUser_product.UnitPrice = 999.99M;  
  6. otherUser_db.SubmitChanges();  
  7. //我們當(dāng)前連接  
  8. var product = db.Products.First(p => p.ProductID == 1);  
  9. product.UnitPrice = 777.77M;  
  10. try  
  11. {  
  12. db.SubmitChanges();//當(dāng)前連接執(zhí)行成功  
  13. }  
  14. catch (ChangeConflictException)  
  15. {  

說(shuō)明:我們讀取數(shù)據(jù)之后,另外一個(gè)用戶獲取并提交更新了這個(gè)數(shù)據(jù),這時(shí),我們更新這個(gè)數(shù)據(jù)時(shí),引起了一個(gè)并發(fā)沖突。系統(tǒng)發(fā)生回滾,允許你可以從數(shù)據(jù)庫(kù)檢索新更新的數(shù)據(jù),并決定如何繼續(xù)進(jìn)行您自己的更新。

  1. //當(dāng)前用戶  
  2. var product = db.Products.First(p => p.ProductID == 1);  
  3. //我們打開(kāi)一個(gè)新的連接來(lái)模擬另外一個(gè)用戶  
  4. NorthwindDataContext otherUser_db = new NorthwindDataContext() ;  
  5. var otherUser_product =   
  6. otherUser_db.Products.First(p => p.ProductID == 1);  
  7. otherUser_product.UnitPrice = 999.99M;  
  8. otherUser_db.SubmitChanges();  
  9. //當(dāng)前用戶修改  
  10. product.UnitPrice = 777.77M;  
  11. try  
  12. {  
  13. db.SubmitChanges();  
  14. }  
  15. catch (ChangeConflictException)  
  16. {  
  17. //發(fā)生異常!  

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗(yàn)總結(jié)
  2. LINQ遍歷多個(gè)數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計(jì)學(xué)習(xí)筆記
  5. LINQ重要組成部分簡(jiǎn)介
責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2009-09-14 15:12:40

LINQ to XML

2021-10-31 15:03:14

RAN無(wú)線電接入網(wǎng)絡(luò)網(wǎng)絡(luò)

2010-05-05 10:24:00

Unix系統(tǒng)

2009-09-07 17:18:33

LINQ查詢表達(dá)式

2009-09-08 09:59:26

LINQ遍歷多個(gè)數(shù)組

2009-01-20 14:28:15

Sun開(kāi)放式存儲(chǔ)SSD

2012-11-06 10:02:05

混合云開(kāi)放式歸檔數(shù)據(jù)

2009-01-14 18:53:13

服務(wù)器虛擬化VMware

2021-01-27 16:51:15

區(qū)塊鏈金融安全

2009-03-20 09:34:50

云計(jì)算Sun開(kāi)放平臺(tái)

2012-05-03 10:39:39

云計(jì)算開(kāi)放封閉

2009-11-17 17:39:40

路由器產(chǎn)品

2024-04-29 09:06:46

線程初始化源碼

2015-09-21 14:06:26

2013-06-14 16:24:19

紅帽OpenStack產(chǎn)品

2021-08-23 14:56:15

RAN5G網(wǎng)絡(luò)

2014-06-12 12:59:25

瞻博Aruba Netwo

2012-11-27 09:20:21

開(kāi)放式混合云IT

2011-05-07 15:30:56

富士通云計(jì)算,服務(wù)器

2015-06-09 17:27:44

IBMBlue Box混合云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产高清免费视频 | 无码日韩精品一区二区免费 | 97国产在线视频 | 欧美视频二区 | 成人午夜免费网站 | 国产亚洲精品久久久久久牛牛 | 视频羞羞| 精品国产精品三级精品av网址 | 亚洲深夜福利 | 国产亚洲精品久久19p | 日本偷偷操 | 欧美黑人一区二区三区 | 一区二区亚洲 | 久久成人精品一区二区三区 | 成人黄色在线视频 | 高清一区二区三区 | 一区二区国产精品 | www.99re5.com| 国产一区二区精品在线观看 | 可以免费观看的av片 | 亚洲 一区 | 91原创视频 | 国产大片黄色 | 国产精品亚洲成在人线 | 91亚洲精品国偷拍自产在线观看 | 福利一区视频 | 欧美日日日日bbbbb视频 | 久久在线 | 国产欧美视频一区二区三区 | 四虎成人免费电影 | 国产精品国产精品 | 国产一区二区精品在线观看 | 在线观看中文字幕 | 欧美精品在线免费 | 成人a在线观看 | 免费在线观看av的网站 | 九九免费| 日韩av三区 | 一区二区三区在线看 | 国产一级片网站 | 一区二区三区精品视频 |