Изоляция транзакций DB2 Entity Framework "WITH UR" - PullRequest
4 голосов
/ 18 марта 2012

Я пытаюсь использовать « WITH UR » в каждом запросе к db2.кто-нибудь знает, как использовать изоляцию транзакций в db2 ef4?я хочу, чтобы linq создал мне следующий запрос:

SELECT EmployeeID FROM Payroll.Employees WITH UR;

Примечание.чистый каркас 4.0;это совсем не помогает.

1 Ответ

0 голосов
/ 22 ноября 2016

Предположим, что sDB2ConnectionString - это строка, которую вы используете для соединения с DB2.

Уровень изоляции указан в транзакции, но свойство Transaction.IsolationLevel доступно только для чтения.Вы можете установить его только при создании транзакции.

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

// string sDB2ConnectionString = ConfigurationManager.AppSettings[environment + "_ConnectionString"];

using ( DB2Connection conn = new DB2Connection( sDB2ConnectionString ) )
{
    conn.Open();

    using ( DB2Transaction tran = conn.BeginTransaction( IsolationLevel.ReadUncommitted ) )
    {
        using ( DB2Command dbCommand = conn.CreateCommand() )
        {
            dbCommand.Transaction = tran;
            dbCommand.CommandType = CommandType.StoredProcedure;
            dbCommand.CommandText = "MySchema.MyStoredProcedureName";

            dbCommand.ExecuteNonQuery();
            tran.Commit();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...