LINQ TO SQL分布式事务
在向大家详细介绍LINQ TO SQL分布式事务之前,首先让大家了解下隐式事务和显式事务,然后全面介绍LINQ TO SQL分布式事务。
LINQ TO SQL,顾名思义,涉及到了数据库操作。那么就会有一个事务的概念,例如,假设我们需要一次性插入两个实体,但希望保证这两个操作的完整性的话。
1. 隐式事务
其实,即便我们不写代码,LINQ TO SQL也会自动创建一个事务的。默认事务隔离级别为ReadCommitted
2. 显式事务
我们也可以自己写代码,来明确地控制事务,默认事务隔离级别为ReadCommitted
3. LINQ TO SQL分布式事务
我们也可以使用TransactionScope对象,来定义LINQ TO SQL分布式事务。
注意:TransactionScope的默认隔离级别为可串行化,可能带来并发锁冲突问题。
最后大概要谈一下并发控制的问题:这个问题的出现就在于,某些时候,某个客户端读取到了数据,然后它断开了,在本地修改;同时,另外一个客户端也读取到了数据,并且修改并提交了。此时,第一个客户端如果再进行更新,就应该是有所问题的。这就是所谓的并发问题。
LINQ TO SQL通过在submitchanges方法的时候指定ConflictMode来定义并发控制行为:
◆FailOnFirstConflict(默认的)
◆ContinueOnConflict
相关推荐
THEEYE 2020-04-18
Web分享 2019-11-10
xxjoy 2019-06-27
stepma 2012-07-06
86447318 2018-10-01
suyisong 2011-07-26
DevinChen 2011-06-12
wwwextractcomcn 2010-06-03
尉微 2009-12-31
jediaellu 2009-12-30
thunderstorm 2009-12-02
shenshuibomb 2009-09-22
麦田开拓者 2009-09-18
旷野亮光 2009-09-18
onceProject 2009-09-18
xstongwandou 2009-09-18
luobailian 2009-09-18
0lzqth 2009-09-18
bonkerssdn 2009-09-17