Entity framework SaveChanges方法是否有默认事务?
如果我对同一实体框架进行了多个操作Entity framework SaveChanges方法是否有默认事务?,entity-framework,transactions,Entity Framework,Transactions,如果我对同一实体框架进行了多个操作DbContext(添加和更新) 只需调用一次SaveChanges,这些更改是否将作为事务完成 using (MyContext context = new MyContext()) { context.Table1.Add(entity1); context.Table2.Add(entity2); context.SaveChanges(); } 或者有可能只执行其中一个而不执行另一个吗?是的,它包装在事务中: 在实体框架的所有版
DbContext
(添加和更新)
只需调用一次SaveChanges
,这些更改是否将作为事务完成
using (MyContext context = new MyContext())
{
context.Table1.Add(entity1);
context.Table2.Add(entity2);
context.SaveChanges();
}
或者有可能只执行其中一个而不执行另一个吗?是的,它包装在事务中: 在实体框架的所有版本中,无论何时执行 SaveChanges()在数据库中插入、更新或删除 框架将在事务中包装该操作。此交易 仅持续足够长的时间来执行操作,然后完成。 当您执行另一个这样的操作时,将启动一个新事务 不能进行任何部分保存,否则,DbContext可能会进入不一致状态。每次更改操作后,只能多次调用
SaveChanges