我正在尝试改善项目中的代码,并致力于与数据库事务相关的代码。我不知道从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
}
}
}
}