Вы можете использовать класс TransactionScope и установить уровень изоляции с помощью Опции транзакции , как описано здесь :
перегруженные конструкторы TransactionScope принимают структуру типа TransactionOptions для указания уровня изоляции в дополнение к значению тайм-аута.По умолчанию транзакция выполняется с уровнем изоляции, установленным в Serializable.Выбор уровня изоляции, отличного от Serializable, обычно используется в системах с интенсивным чтением.Это требует глубокого понимания теории обработки транзакций и семантики самой транзакции, связанных с этим проблем параллелизма и последствий для согласованности системы.
Например:
using (var context = new EFTestEntities())
{
context.AddToProducts(new Product { Name = "Widget" });
context.AddToProducts(new Product { Name = "Chotchky" });
TransactionOptions options = new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted, Timeout = TransactionManager.DefaultTimeout };
using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, options))
{
// do any EF work that you want to be performed in the transaction
context.SaveChanges();
// commit the transaction
scope.Complete();
}
}