Использование NOLOCK с LINQPad

#c# #entity-framework #linq #linqpad5

Вопрос:

Я использую LINQPad 5, и я хотел сделать свой запрос с помощью NOLOCK, я знаю, что это можно сделать нормально с помощью linq to sql, используя:

 new TransactionScope(
                TransactionScopeOption.Required,
                new TransactionOptions
                {
                    IsolationLevel = IsolationLevel.ReadUncommitted
                });
 

но я не уверен, стоит ли просто добавлять это к .файл linq будет работать, или как проверить, работает ли он.
Это простой запрос только для чтения, как видно ниже

Кто-нибудь может помочь с этим? Спасибо!

 void Main(string[] argv)
{
        var test = select * from tableA;
        test.Dump();
        scope.Complete();
    }
}
private TransactionScope CreateReadUncommittedScope()
{
    return new TransactionScope(
        TransactionScopeOption.Required,
        new TransactionOptions
        {
            IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted
        });
}
 

Комментарии:

1. Почему вы вообще хотите использовать NOLOCK? Это не означает «не снимайте замки». Это значит ignore locks, return dirty or duplicate data while taking even more locks and randomly throwing errors . Это не решает никаких проблем

2. Вам нужно прочитать о вредных привычках: Везде ставить NOLOCK , а также об аномалиях, проблемах и несоответствиях SQL Server NOLOCK . То, что вы попытаетесь сделать, приведет к блокировке таблицы . Вы можете получить нужные вам данные быстрее, но это затронет всех других пользователей этой таблицы

3. Это простой запрос только для чтения

4. Нет причин блокировать всех остальных только потому, что это простой запрос только для чтения. NOLOCK требует дополнительных блокировок . И результаты отнюдь не просты. Вы можете пропустить строки, получить одни и те же строки дважды или получить случайные ошибки. Опять же, почему вы вообще пытаетесь использовать NOLOCK?

5. У меня есть запрос, который занимает много времени и блокирует таблицу во время запроса. и я не хочу его запирать