久久久久久久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 | 免费成人高清 | 丁香久久 | www.亚洲一区二区 | 国产精品自产拍在线观看蜜 | 精品久久久久久 | 99精品一区 | 久久乐国产精品 | 国产精品国产a级 | 天堂亚洲网 | 天天曰夜夜操 | 99爱国产 | 国产高清久久久 | 亚洲综合精品 | 精品国产91 | 国产在线一区二区三区 | 爱爱免费视频网站 | 亚洲精彩免费视频 | 天堂久久天堂综合色 | 国产欧美日韩综合精品一区二区 | 雨宫琴音一区二区在线 | 欧美激情一区二区三区 | 国产视频二区在线观看 | 91p在线观看 | 成人久久久 | 国产一卡二卡三卡 | 亚洲一区二区在线视频 | 黄色一级免费看 | 一区二区三区欧美大片 | 91久久精品国产免费一区 | 午夜影院在线观看 | 精品亚洲一区二区三区 | 日韩欧美中文字幕在线观看 | 欧美激情99 | 激情av免费看 | 综合色播 | 91精品国模一区二区三区 | 小h片免费观看久久久久 |