自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LINQ TO SQL分布式事務(wù)

開(kāi)發(fā) 后端 分布式
這里介紹LINQ TO SQL分布式事務(wù),以及介紹LINQ TO SQL通過(guò)在submitchanges方法的時(shí)候指定ConflictMode來(lái)定義并發(fā)控制行為。

在向大家詳細(xì)介紹LINQ TO SQL分布式事務(wù)之前,首先讓大家了解下隱式事務(wù)和顯式事務(wù),然后全面介紹LINQ TO SQL分布式事務(wù)。

LINQ TO SQL,顧名思義,涉及到了數(shù)據(jù)庫(kù)操作。那么就會(huì)有一個(gè)事務(wù)的概念,例如,假設(shè)我們需要一次性插入兩個(gè)實(shí)體,但希望保證這兩個(gè)操作的完整性的話。

1. 隱式事務(wù)

其實(shí),即便我們不寫代碼,LINQ TO SQL也會(huì)自動(dòng)創(chuàng)建一個(gè)事務(wù)的。默認(rèn)事務(wù)隔離級(jí)別為ReadCommitted

2. 顯式事務(wù)

我們也可以自己寫代碼,來(lái)明確地控制事務(wù),默認(rèn)事務(wù)隔離級(jí)別為ReadCommitted

3. LINQ TO SQL分布式事務(wù)

我們也可以使用TransactionScope對(duì)象,來(lái)定義LINQ TO SQL分布式事務(wù)。

注意:TransactionScope的默認(rèn)隔離級(jí)別為可串行化,可能帶來(lái)并發(fā)鎖沖突問(wèn)題。

***大概要談一下并發(fā)控制的問(wèn)題:這個(gè)問(wèn)題的出現(xiàn)就在于,某些時(shí)候,某個(gè)客戶端讀取到了數(shù)據(jù),然后它斷開(kāi)了,在本地修改;同時(shí),另外一個(gè)客戶端也讀取到了數(shù)據(jù),并且修改并提交了。此時(shí),***個(gè)客戶端如果再進(jìn)行更新,就應(yīng)該是有所問(wèn)題的。這就是所謂的并發(fā)問(wèn)題。

LINQ TO SQL通過(guò)在submitchanges方法的時(shí)候指定ConflictMode來(lái)定義并發(fā)控制行為:
◆FailOnFirstConflict(默認(rèn)的)
◆ContinueOnConflict

下面有一個(gè)例子,講解了并發(fā)沖突時(shí)繼續(xù)操作,并且對(duì)沖突項(xiàng)進(jìn)行解決

  1. var query = from p in ctx.Products where p.CategoryID == 1 select p;  
  2. foreach (var p in query)  
  3. p.UnitsInStock = Convert.ToInt16(p.UnitsInStock - 1);  
  4. try  
  5. {  
  6. ctx.SubmitChanges(ConflictMode.ContinueOnConflict);  
  7. }  
  8. catch (ChangeConflictException)  
  9. {  
  10. foreach (ObjectChangeConflict cc in ctx.ChangeConflicts)  
  11. {  
  12. Product p = (Product)cc.Object;  
  13. Reponse.Write(p.ProductID + "  
  14. ");  
  15. cc.Resolve(RefreshMode.OverwriteCurrentValues);   
  16. // 放棄當(dāng)前更新,所有更新以原先更新為準(zhǔn)  
  17. }  

【編輯推薦】

  1. Linq匿名類型簡(jiǎn)單概述
  2. Linq隨機(jī)讀取數(shù)據(jù)淺析
  3. Linq Lambda表達(dá)式全面分析
  4. Linq擴(kuò)展方法簡(jiǎn)單分析
  5. 初探Linq局部變量類型
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2022-06-27 08:21:05

Seata分布式事務(wù)微服務(wù)

2010-07-26 13:25:11

SQL Server分

2022-06-21 08:27:22

Seata分布式事務(wù)

2017-07-26 15:08:05

大數(shù)據(jù)分布式事務(wù)

2019-10-10 09:16:34

Zookeeper架構(gòu)分布式

2009-06-19 15:28:31

JDBC分布式事務(wù)

2021-09-29 09:07:37

分布式架構(gòu)系統(tǒng)

2025-04-29 04:00:00

分布式事務(wù)事務(wù)消息

2019-06-26 09:41:44

分布式事務(wù)微服務(wù)

2022-03-24 07:51:27

seata分布式事務(wù)Java

2010-07-05 15:48:44

SQL Server

2010-11-30 13:43:07

SQL備份

2010-07-21 13:53:41

SQL Server分

2022-03-29 23:17:52

PostgreSQL集群Citus

2010-07-21 13:42:53

SQL Server分

2010-07-23 13:25:31

2010-07-05 16:53:38

SQL Server

2018-10-28 17:54:00

分布式事務(wù)數(shù)據(jù)

2020-03-31 08:05:23

分布式開(kāi)發(fā)技術(shù)

2023-12-26 08:59:52

分布式場(chǎng)景事務(wù)機(jī)制
點(diǎn)贊
收藏

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