Я настоятельно рекомендую прочитать о режимах изоляции транзакций SQL Server перед использованием ReadUncommitted.Вот очень хорошее чтение
http://blogs.msdn.com/b/davidlean/archive/2009/04/06/sql-server-nolock-hint-other-poor-ideas.aspx
Во многих случаях достаточно уровня ReadSnapshot
.Также вам, если вам это действительно нужно. Вы можете установить уровень изоляции транзакции по умолчанию для своей базы данных, используя
Set Transaction Isolation Level --levelHere
Другие хорошие идеи включают упаковку вашего контекста в оболочку, которая инкапсулирует каждый вызов с использованием требуемого уровня изоляции.(может быть, вам нужно nolock 95% времени и сериализуемый 5% времени).Это можно сделать с помощью методов расширения или обычных методов с помощью кода, подобного следующему:
viewData.Categories = northwind.Categories.AsReadCommited().ToList();
, который принимает ваш IQueryable и выполняет трюк, упомянутый Робом.