System.Data Namespace
Specifies the transaction locking behavior for the connection.
This enumeration has a FlagsAttribute that allows a bitwise combination of its member values.
Member Name |
Description |
Chaos |
The pending changes from more highly isolated transactions cannot be overwritten. |
ReadCommitted |
Shared locks are held while the data is being read to avoid dirty reads, but the data can be changed before the end of the transaction, resulting in non-repeatable reads or phantom data. |
ReadUncommitted |
A dirty read is possible, meaning that no shared locks are issued and no exclusive locks are honored. |
RepeatableRead |
Locks are placed on all data that is used in a query, preventing other users from updating the data. Prevents non-repeatable reads but phantom rows are still possible. |
Serializable |
A range lock is palced on the DataSet, preventing other users from updating or inserting rows into the dataset until the transaction is complete. |
Unspecified |
A different isolation level than the one specified is being used, but the level cannot be determined. |
The IsolationLevel values are used by a .NET data provider when performing a transaction.
The IsolationLevel remains in effect until explicitly changed, but it can be changed at any time. The new value is used at execution time, not parse time. If changed during a transaction, the expected behavior of the server is to apply the new locking level to all statements remaining.