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 | 正在使用与指定隔离级别不同的隔离级别,但是无法确定该级别。 如果设置了此值,则会引发异常。 |
注解
受事务影响的数据称为易失性数据。 在创建事务时,可以指定应用于该事务的隔离级别。 事务的隔离级别确定其他事务在事务完成之前对可变数据具有哪些访问级别。
最低隔离级别 ReadUncommitted允许许多事务同时在数据存储上运行,并且由于事务中断,无法防止数据损坏。 最高隔离级别 Serializable提供对中断事务的高度保护,但要求在允许任何其他事务对数据执行操作之前完成每个事务。
创建事务时确定事务的隔离级别。 默认情况下, System.Transactions 基础结构会创建 Serializable 事务。 可以使用事务的属性确定现有事务 Transaction.IsolationLevel 的隔离级别。