Skip to main content

事务管理

在开发项目时,确保数据库的一致性和提高数据库性能是关键任务。事务是实现这些目标的关键工具。接下来,我们将演示如何使用事务来达到这些目的。

//构造显式事务上下文
var context = new TransactionContext();
//构造汽车队列
var queue = new CarQueue();
//初始化一辆车
var car = new Car
{
CarCode = Guid.NewGuid().ToString("N"),
CarName = "某车"
};
//初始化两个车轮
var wheel1 = new Wheel
{
WheelCode = Guid.NewGuid().ToString("N")
};
var wheel2 = new Wheel
{
WheelCode = Guid.NewGuid().ToString("N")
};
//给车配一个车轮
car.CarWheels = new List<Wheel> { wheel1, wheel2 };

try
{
//声明开始显式事务
context.BeginTransaction();
context.Attach(car);
context.Attach(wheel1);
context.Attach(wheel2);
//保存
context.SaveChanges();
//提交事务
context.Commit();
}
catch
{
//发生异常 回滚
context.RollbackTransaction();
}
finally
{
//释放资源
context.Release();
}