TransactionScope事务级别

来源:互联网 发布:动态桌面软件哪个好 编辑:程序博客网 时间:2024/06/05 05:24

 

在TransactionScope中默认的事务级别是Serializable,即在事务过程中,完全性锁表。别的进程不能查询,修改,新增,删除。这样会导致效率大大降低,虽然数据完整性很高。通常我们不需要那么高的数据完整性。所以需要修改默认的事务级别

 

所有的事务级别如下


Chaos

无法改写隔离级别更高的事务中的挂起的更改。


ReadCommitted

不可以在事务期间读取可变数据,但是可以修改它。


ReadUncommitted

可以在事务期间读取和修改可变数据。


RepeatableRead

可以在事务期间读取可变数据,但是不可以修改。可以在事务期间添加新数据。


Serializable

可以在事务期间读取可变数据,但是不可以修改,也不可以添加任何新数据。


Snapshot

可以读取可变数据。在事务修改数据之前,它验证在它最初读取数据之后另一个事务是否更改过这些数据。如果数据已被更新,则会引发错误。这样使事务可获取先前提交的数据值。

在尝试提升以此隔离级别创建的事务时,将引发一个 InvalidOperationException,并产生错误信息“Transactions with IsolationLevel Snapshot cannot be promoted”(无法提升具有 IsolationLevel 快照的事务)。


Unspecified

正在使用与指定隔离级别不同的隔离级别,但是无法确定该级别。如果设置了此值,则会引发异常。

 

 

文章转载自: TransactionScope的使用   http://www.studyofnet.com/news/470.html

 

0 0