浅析LINQ事务处理的实现

开发 后端
LINQ事务处理是如何实现的呢?对于LINQ事务处理的学习我们应该注意什么呢?那么本文就向你介绍LINQ事务处理具体的情况。

LINQ事务处理是什么情况?LINQ事务处理的原理是什么呢?LINQ事务处理的基本实现是怎么样的呢?那么这里我们就向你详细LINQ事务处理的基本情况,希望对你有所帮助。

LINQ事务处理依赖于TransactionScope,一个使用依赖全局变量的非OO设计模式的.NET 2.0类。

TransactionScope被用来为一组变化设置事务。不像在ADO.NET中的事务对象,TransactionScope不限于一个单独的数据库链接。它最常用的一个案例是在多台服务器上运行一个事务。

当一个TransactionScope对象被创建时,它会自动将自己注册成线程的事务。所有的事务感知操作也将会自动地使用这个事务,而不需要将事务对象传递给对象。事务感知对象的例子包括SQLCommand类和LINQ to SQL对象。

这种设计的一个比较严重的副作用是事务和操作间的连接不是那么直接。

LINQ事务处理实例

  1. Public Sub OperationWithTransaction()   
  2. Using t As New Transactions.  
  3. TransactionScope Operation1()   
  4. t.Complete() End Using End Sub 

就上面的这个例子,当OperationWithTransaction被调用时,Operation1函数中的所有动作都和事务相关联。就是在事务并没有明确传递给方法的时候,这种情况也会发生。这就使得对Operation1的调试变得有些复杂,尤其是在堆栈跟踪(Stack Trace)上事务范围(transaction scope)被创建了多个层时。

最后需要提醒的是,在使用多线程时,一个给定的TransactionScope只能应用在当前线程上。

LINQ事务处理的基本情况就向你介绍到这里,希望对你了解和学习LINQ事务处理有所帮助。

【编辑推荐】

  1. LINQ查询的效果分析
  2. LINQ查询和泛型类型的关系浅析
  3. LINQ动态查询的实现浅析
  4. LINQ TO SQL动态修改表名称的实现浅析
  5. LINQ To SQL的一点讨论
责任编辑:仲衡 来源: ittang.com
相关推荐

2009-07-15 17:41:55

iBATIS事务处理

2011-04-27 15:55:16

2010-04-13 15:44:00

Oracle与SqlS

2014-01-22 13:37:53

2009-07-09 18:15:42

JDBC事务处理

2010-05-17 14:59:05

MySQL事务处理

2009-04-15 17:03:15

OracleSQL Server事务处理

2009-11-13 17:01:07

ADO.NET事务处理

2011-04-27 16:09:48

SQL ServerSSIS

2010-01-04 13:06:50

ADO.NET事务

2010-01-11 17:12:12

VB.NET事务处理

2022-06-22 05:42:32

数据库事务处理分析查询

2014-02-11 09:07:31

2009-11-04 15:05:45

ADO.NET事务

2022-06-13 10:42:21

分布式事务数据库

2011-03-15 10:22:42

SQL Server 联机事务处理

2017-04-10 13:30:47

Redis数据库命令

2015-03-18 09:33:41

大数据分布式系统事务处理

2010-01-13 14:13:24

VB.NET事务处理

2009-07-15 15:57:28

AWT或Swing
点赞
收藏

51CTO技术栈公众号