IsolationLevel 列舉

定義

指定交易的隔離等級 (Isolation Level)。

public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel = 
Public Enum IsolationLevel
繼承
IsolationLevel

欄位

Chaos 5

無法覆寫來自隔離程度更深之交易的暫止變更。

ReadCommitted 2

在交易期間無法讀取 Volatile 資料,但可以修改該資料。

ReadUncommitted 3

在交易期間可以讀取和修改 Volatile 資料。

RepeatableRead 1

在交易期間可以讀取 Volatile 資料,但無法修改該資料。 在交易期間可以加入新資料。

Serializable 0

在交易期間可以讀取 Volatile 資料,但無法修改該資料,且不能加入新資料。

Snapshot 4

可以讀取 Volatile 資料。 交易會在修改資料之前,先驗證在最初讀取資料後是否有另一個交易已變更該資料。 如果資料已更新,則會引發錯誤, 如此可允許交易回到先前所認可的資料值。

當您升級使用 Snapshot 隔離層級建立的交易時,會擲回具有錯誤訊息「無法升級 IsolationLevel 為快照的交易」的 InvalidOperationException

Unspecified 6

使用與指定不同的隔離等級,但無法判斷該等級。 如果設定這個值,會擲回例外狀況。

備註

受交易影響的資料稱為 volatile。 當您建立交易時,可以指定套用至交易的隔離等級。 交易的隔離等級會決定其他交易在交易完成之前,哪些存取權層級必須具有變動性資料。

最低隔離等級 ReadUncommitted 可讓許多交易同時在資料存放區上運作,而且不會因為中斷的交易而防止資料損毀。 最高隔離等級提供對中斷交易的高等級 Serializable 保護,但要求每個交易在允許對資料操作之前完成每個交易。

交易的隔離等級會在建立交易時決定。 根據預設, System.Transactions 基礎結構會 Serializable 建立交易。 您可以使用交易的 屬性來判斷現有交易 Transaction.IsolationLevel 的隔離等級。

適用於