static void StartOwnTransactionWithinContext()
{
using (var context = new EntFraContext())
{
using (var dbContextTransaction =
context.Database.BeginTransaction())
{
try
{
var Id = new System.Data.SqlClient.SqlParameter("@Id",
System.Data.SqlDbType.Int, 0,
System.Data.ParameterDirection.Input,
0, 0, "Id",
System.Data.DataRowVersion.Current, false, null,
"", "", "");
Id.Value = 1;
;
context.Database.ExecuteSqlCommand(
@"UPDATE Employee SET Name = 'helenhelen222'" +
" WHERE ID=@ID"
, Id);
var query = context.AccountSet.Where(p => p.Employee.Id == (int)Id.Value);
foreach (var item in query)
{
item.UserName += "[Cool Blog]111";
}
//context.SaveChanges();
dbContextTransaction.Commit();
}
catch (Exception ex)
{
dbContextTransaction.Rollback();
}
}
}
}
}
转载:https://docs.microsoft.com/zh-cn/ef/ef6/saving/transactions