IsolationLevel 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定事务的隔离级别。
public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel =
Public Enum IsolationLevel
- 继承
字段
Chaos | 5 | 无法覆盖隔离级别更高的事务中的挂起的更改。 |
ReadCommitted | 2 | 不可以在事务期间读取可变数据,但是可以修改。 |
ReadUncommitted | 3 | 可以在事务期间读取和修改可变数据。 |
RepeatableRead | 1 | 可以在事务期间读取可变数据,但是不可以修改。 可以在事务期间添加新数据。 |
Serializable | 0 | 可以在事务期间读取可变数据,但是不可以修改,也不可以添加任何新数据。 |
Snapshot | 4 | 可以读取可变数据。 在事务修改数据之前,它会验证在它最初读取数据之后另一个事务是否更改过这些数据。 如果数据已更新,则会引发错误。 这样,事务可获取先前提交的数据值。 当尝试提升已创建的 |
Unspecified | 6 | 正在使用与指定隔离级别不同的隔离级别,但是无法确定该级别。 如果设置了此值,则会引发异常。 |
注解
受事务影响的数据称为 volatile。 在创建事务时,可以指定应用于该事务的隔离级别。 事务的隔离级别决定了在事务完成之前,其他事务对易失性数据的访问权限级别。
最低隔离级别 ReadUncommitted
允许多个事务同时在数据存储上运行,并且无法防止由于中断性事务而导致的数据损坏。 最高隔离级别 Serializable
提供针对中断事务的高度保护,但要求每个事务在允许任何其他事务对数据进行操作之前完成。
事务的隔离级别在创建事务时确定。 默认情况下, System.Transactions 基础结构创建 Serializable
事务。 可以使用事务的 属性确定现有事务 Transaction.IsolationLevel 的隔离级别。