Как получить уровень изоляции в EF для MSSQL? - PullRequest
0 голосов
/ 22 марта 2019

Я использую EF для доступа к данным MS SQL с помощью LINQ. Как я могу получить текущий уровень изоляции? Например этот код:

var level = 
Database.Connection.UnderlyingTransaction.IsolationLevel.ToString();

дай мне ошибку - System.NullReferenceException: Object reference not set to an instance of an object.

Как я понимаю - UnderlyingTransaction является нулевым, потому что я не использую транзакции в своем коде LINQ.

1 Ответ

0 голосов
/ 22 марта 2019

Я не могу найти, как получить текущий уровень изоляции с помощью свойств или методов EF, поэтому мы можем использовать для этого пользовательский запрос SQL, например, так:

public class UserOptionsMsSql
{
    [Column("Set Option")]
    public string SetOption { get; set; }

    public string Value { get; set; }
}

var resultsList = 
service.GetDataContext().Database.SqlQuery<UserOptionsMsSql>
("DBCC USEROPTIONS;").ToList();

var resultLevel =  resultsList[11] == null ? "unknown":resultsList[11].Value ;

Конечно, мы можем использовать любой другие пользовательские сценарии SQL ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...