Partager via


IsolationLevel Énumération

Définition

Spécifie le niveau d’isolation d’une transaction.

public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel = 
Public Enum IsolationLevel
Héritage
IsolationLevel

Champs

Nom Valeur Description
Serializable 0

Les données volatiles peuvent être lues, mais non modifiées, et aucune nouvelle donnée ne peut être ajoutée pendant la transaction.

RepeatableRead 1

Les données volatiles peuvent être lues, mais non modifiées pendant la transaction. De nouvelles données peuvent être ajoutées pendant la transaction.

ReadCommitted 2

Les données volatiles ne peuvent pas être lues pendant la transaction, mais peuvent être modifiées.

ReadUncommitted 3

Les données volatiles peuvent être lues et modifiées pendant la transaction.

Snapshot 4

Les données volatiles peuvent être lues. Avant qu’une transaction modifie les données, elle vérifie si une autre transaction a modifié les données après sa lecture initiale. Si les données ont été mises à jour, une erreur est générée. Cela permet à une transaction d’accéder à la valeur validée précédemment des données.

Lorsque vous essayez de promouvoir une transaction créée avec le Snapshot niveau d’isolation, un InvalidOperationException message d’erreur « Transactions avec l’instantané IsolationLevel ne peut pas être promu ».

Chaos 5

Les modifications en attente de transactions plus isolées ne peuvent pas être remplacées.

Unspecified 6

Un niveau d’isolation différent de celui spécifié est utilisé, mais le niveau ne peut pas être déterminé. Une exception est levée si cette valeur est définie.

Remarques

Les données affectées par une transaction sont appelées volatiles. Lorsque vous créez une transaction, vous pouvez spécifier le niveau d’isolation qui s’applique à la transaction. Le niveau d’isolation d’une transaction détermine le niveau d’accès d’autres transactions à des données volatiles avant la fin d’une transaction.

Le niveau d’isolation le plus bas, ReadUncommittedpermet à de nombreuses transactions d’opérer simultanément sur un magasin de données et ne fournit aucune protection contre l’altération des données en raison de transactions d’interruption. Le niveau d’isolation le plus élevé, Serializablefournit un degré élevé de protection contre les transactions d’interruption, mais exige que chaque transaction se termine avant que d’autres transactions soient autorisées à fonctionner sur les données.

Le niveau d’isolation d’une transaction est déterminé lors de la création de la transaction. Par défaut, l’infrastructure System.Transactions crée des Serializable transactions. Vous pouvez déterminer le niveau d’isolation d’une transaction existante à l’aide de la Transaction.IsolationLevel propriété d’une transaction.

S’applique à