TransactionScope事务级别

TransactionScope事务级别在TransactionScope中默认的事务级别是Serializable,即在事务过程中,完全性锁表。别的进程不能查询,修改,新增,删除。这样会导致效率大大降低,虽然数据完整性很高。通常我们不需要那么高的数据完整性。所以需要修改默认的事务级别 所有的事务级别如下Chaos无法改写隔离级别更高的事务中的挂起的更改。ReadCommitted不可以在事务期间读取可变

大家好,又见面了,我是你们的朋友全栈君。

 

在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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161938.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 载波频率与传输速率_频段带宽80

    载波频率与传输速率_频段带宽80频段  频段(Band)是指一段频率范围,比如LTE的FDD频段:  通信时不会直接拿一个Band来用,因此还会细分。信道带宽(ChannelBandwidth)  信道带宽限定了允许通过该信道的上下限频率,也即限定了一个频率通带。在一个频带Band中,可以灵活分配若干个不同的信道带宽。LTE系统支持信道带宽灵活可变,有6种可以配置,分别是1.4MHz,3MHz,5MHz,10MHz,15MHz,20MHz。较低的带宽1.4MHz和3MHz,可以方便CDMA2000使用的频谱迁移到LTE,同时帮

    2022年10月7日
    4
  • 数据结构 Hash表(哈希表)

    数据结构 Hash表(哈希表)参考链接:数据结构(严蔚敏)什么是Hash表要想知道什么是哈希表,那得先了解哈希函数哈希函数对比之前博客讨论的二叉排序树二叉平衡树红黑树BB+树,它们的查找都是先从根节点进行查找,从节点取出数据或索引与查找值进行比较。那么,有没有一种函数H,根据这个函数和查找关键字key,可以直接确定查找值所在位置,而不需要一个个比较。这样就**“预先知道”**key所在的位置,直…

    2022年7月23日
    10
  • 牛站_牛客网站

    牛站_牛客网站链接https://www.acwing.com/problem/content/submission/code_detail/1207146/题目给定一张由T条边构成的无向图,点的编号为1~1

    2022年8月3日
    7
  • 系统环境变量与用户环境变量区别_windows7建立用户变量

    系统环境变量与用户环境变量区别_windows7建立用户变量区别:  环境变量分为系统环境变量和用户环境变量。环境变量是指系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。  例如你要用opencv,那么你把opencv的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入opencv都会有opencv的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这

    2025年12月8日
    3
  • SQLyog客户端无法连接mysql「建议收藏」

    SQLyog客户端无法连接mysql「建议收藏」忘记截图了,只能描述下报错信息:Host ‘服务器地址’ is not allowed to connect to this MySQL server解决方法:添加用户权限1.登录服务端mysql2.在mysql输入命令GRANT ALL PRIVILEGES ON *.* TO ‘root’@’IP地址’ IDENTIFIED BY ‘你设置的密码’ WITH GRANT O…

    2022年8月18日
    23
  • pytest的assert_assert是什么意思

    pytest的assert_assert是什么意思前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月30日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号