有什么更好的DBTransaction(SQLTransaction)或DBContextTransaction

时间:2019-07-19 07:57:06

标签: entity-framework ado dbcontext

我正在尝试改善项目中的代码,并致力于与数据库事务相关的代码。我不知道从DBTransaction派生的SQLTransaction更好还是DBContextTransaction? 两者之间是否存在与性能或效率相关的差异?

由于我的项目的代码有很多实例,其中SQLTransaction代码是在dbContext范围内编写的,并且再次在此SQLTransaction内部使用了新的dbContext,所以我想知道是否有任何以错误方式进行的操作,或者在这里DBContextTransaction可以做得更好。

请提出建议。

using (var ctx = new MyDBContext())
{
    using (SqlConnection connection = ctx.Database.Connection as 
    SqlConnection)
    {
        connection.Open();
        using (SqlTransaction transaction = connection.BeginTransaction())
        {
            using (var context = new MyDBContext(connection, false))
            {
                /// Some line of code including SQL transactions
            }
       }
    }
}

0 个答案:

没有答案