IsolationLevel 枚举

定义

指定事务的隔离级别。

public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel = 
Public Enum IsolationLevel
继承
IsolationLevel

字段

Chaos 5

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

ReadCommitted 2

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

ReadUncommitted 3

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

RepeatableRead 1

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

Serializable 0

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

Snapshot 4

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

当尝试提升已创建的 Snapshot 隔离级别的事务时,将引发 InvalidOperationException,并显示错误消息“无法提升快照隔离级别的事务”。

Unspecified 6

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

注解

受事务影响的数据称为 volatile。 在创建事务时,可以指定应用于该事务的隔离级别。 事务的隔离级别决定了在事务完成之前,其他事务对易失性数据的访问权限级别。

最低隔离级别 ReadUncommitted允许多个事务同时在数据存储上运行,并且无法防止由于中断性事务而导致的数据损坏。 最高隔离级别 Serializable提供针对中断事务的高度保护,但要求每个事务在允许任何其他事务对数据进行操作之前完成。

事务的隔离级别在创建事务时确定。 默认情况下, System.Transactions 基础结构创建 Serializable 事务。 可以使用事务的 属性确定现有事务 Transaction.IsolationLevel 的隔离级别。

适用于