事务处理
EF支持事务处理操作,以下语句会获取当前DbContext对象专用的DbContextTransaction事务处理的对象:
DbContextTransaction transaction = context.Database.BeginTransaction()
获取transaction之后,期间任何与context有关的数据均会被纳入此事务处理的范围。
调用transaction.Commit方法即可完成事务处理,若要放弃事务处理,调用transaction.Rollback方法即可,以下列举相关语句:
using(var transaction = context.Database.BeginTransaction)
{
//事务处理操作
}
using语句是建立事务处理的常见语句,在结构上也比较容易理解,一旦using语句结束,transaction对象便自动调用Dispose回收事务处理对象。
下面通过一段示例代码来说明:
假设存在如下图实体类:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public int SPrice { get;