Topic: Database - Isolation Levels
C# DATABASE - ISOLATION LEVELS
ISOLATIONLEVEL BEHAVIOR
ReadUncommitted Does not lock the records being read. This means that an uncommitted change can be read and then rolled back
by another client, resulting in a local copy of a record that is not consistent with what is stored in the
database. This is called a "DIRTY READ" because the data is inconsistent.
Chaos Behaves the same way as "ReadUncommitted", but checks the isolation level of other pending transactions
during a write operation so that transactions with more restrictive isolation levels are not over-written
ReadCommitted Locks the records being read adn immediately frees the lock as soon as the records have been read. This
prevents any changes from being read before they are committed, but it does not prevent records from being
added, deleted, or changed by other clients during the transaction. This is the defulat isolation level
RepeatableRead Locks the records being read and keeps the lock until the transaction completes. This ensures that the data
being read does not change during the transaction.
Serializable Locks the entire data set being read and keeps the lock until the transaction completes. This ensures that the
data and its order within the database do not change during the transaction.