久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

當(dāng)我發(fā)出“SaveChanges()"時(shí),Entity Framework 中的

What is the default transaction isolation level in Entity Framework when I issue “SaveChanges()”?(當(dāng)我發(fā)出“SaveChanges()時(shí),Entity Framework 中的默認(rèn)事務(wù)隔離級(jí)別是什么?)
本文介紹了當(dāng)我發(fā)出“SaveChanges()"時(shí),Entity Framework 中的默認(rèn)事務(wù)隔離級(jí)別是什么?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

當(dāng)我發(fā)出SaveChanges()"時(shí),Entity Framework 中的默認(rèn)事務(wù)隔離級(jí)別是什么?我在任何地方都找不到它.應(yīng)該是可序列化"嗎?

What is the default transaction isolation level in Entity Framework when I issue "SaveChanges()"? I can not find it anywhere. Shall it be "Serializable"?

推薦答案

SaveChanges 使用當(dāng)前存儲(chǔ)提供程序的 DbTransaction 實(shí)現(xiàn).這意味著默認(rèn)事務(wù)隔離級(jí)別設(shè)置為數(shù)據(jù)庫(kù)服務(wù)器的默認(rèn)值.在 SQL Server 中,它是 READ COMMITTED.如果要更改隔離級(jí)別,可以使用 TransactionScope.您還可以在派生上下文中覆蓋 SaveChanges 并在覆蓋方法中直接將 base.SaveChanges() 包裝到范圍.

SaveChanges uses implementation of DbTransaction for current store provider. It means that default transaction isolation level is set to default value for the database server. In SQL Server it is READ COMMITTED. If you want to change isolation level you can use TransactionScope. You can also override SaveChanges in your derived context and wrap base.SaveChanges() to the scope directly in overriden method.

public override void SaveChanges()
{
    // Default isolation level for TransactionScope is Serializable
    using (var scope = new TransactionScope())
    {
        base.SaveChanges();
        scope.Complete();
    }
}

您可以進(jìn)一步改進(jìn)此代碼以允許您將隔離級(jí)別傳遞給 SaveChanges 等.一旦您開(kāi)始更改隔離級(jí)別,您應(yīng)該始終如一地執(zhí)行此操作.這意味著每次要運(yùn)行事務(wù)時(shí)都應(yīng)該定義隔離級(jí)別,因?yàn)?隔離級(jí)別是按連接配置的 和連接在使用連接池時(shí)被重用.

You can further improve this code to allow you passing isolation level to SaveChanges etc. Once you start changing isolation levels you should do it consistently. It means you should define isolation level each time you want to run a transaction because isolation level is configured per connection and connections are reused when using connection pooling.

EF6 中的默認(rèn)事務(wù)級(jí)別已更改為 READ COMMITTED SNAPSHOT

Default transaction level in EF6 has changed to READ COMMITTED SNAPSHOT

這篇關(guān)于當(dāng)我發(fā)出“SaveChanges()"時(shí),Entity Framework 中的默認(rèn)事務(wù)隔離級(jí)別是什么?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

SQL Server 2005 Transaction Level and Stored Procedures(SQL Server 2005 事務(wù)級(jí)和存儲(chǔ)過(guò)程)
Should I call Parameters.Clear when reusing a SqlCommand with a transation?(重用帶有事務(wù)的 SqlCommand 時(shí),我應(yīng)該調(diào)用 Parameters.Clear 嗎?)
Does SqlTransaction need to have Dispose called?(SqlTransaction 是否需要調(diào)用 Dispose?)
Reason for System.Transactions.TransactionInDoubtException(System.Transactions.TransactionInDoubtException 的原因)
How do I use TransactionScope with MySql and Entity Framework? (getting Multiple simultaneous connections...are not currently supported error)(如何將 TransactionScope 與 MySql 和實(shí)體框架一起使用?(獲取多個(gè)同時(shí)連接...目前不
Why doesn#39;t TransactionScope work with Entity Framework?(為什么 TransactionScope 不適用于實(shí)體框架?)
主站蜘蛛池模板: av大片在线 | 国产精品7777777 | 亚洲欧洲国产视频 | 久久三区 | 国产高清在线精品 | 久久精品在线 | 手机三级电影 | 国产精品视频一二三区 | 亚洲精品视频一区 | 美人の美乳で授乳プレイ | 一区二区高清 | 艹逼网| 久久精品久久综合 | 日韩精品一区二区三区视频播放 | 奇米超碰 | 精品国产91乱码一区二区三区 | 日韩一区二区久久 | 最新国产精品精品视频 | 免费精品久久久久久中文字幕 | 精品av久久久久电影 | 国外成人在线视频网站 | 精品视频一区二区三区在线观看 | 亚洲欧美中文字幕在线观看 | 成人精品一区二区 | 天天澡天天操 | 国产精品欧美一区二区三区 | 99精品在线免费观看 | 日韩在线中文 | 欧美在线观看黄色 | 久久久国产一区二区三区四区小说 | 狠狠操操| 毛片一级片 | eeuss国产一区二区三区四区 | 毛片网站在线观看 | 激情久久网 | 北条麻妃国产九九九精品小说 | 天堂亚洲网 | 国产精品欧美一区二区三区不卡 | 成人一区av偷拍 | 成人免费视频一区二区 | 国产欧美精品 |