DB2 实体框架事务隔离“WITH UR”

Moi*_*oiz 5 db2 entity-framework-4 c#-4.0

我试图在进入 db2 的每个查询中使用“ WITH UR ”。有人知道如何在 db2 ef4 中使用事务隔离吗?我希望 linq 为我创建以下查询:

使用 UR 从 Payroll.Employees 中选择 EmployeeID;

注意:我已经尝试使用TransactionScope.net框架4.0中提供的;这根本没有帮助。

小智 1

假设 sDB2ConnectionString 是用于连接到 DB2 的字符串。

隔离级别是在 Transaction 上指定的,但 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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)