调用DbContext中的方法DbContext将使用默认的保存选项SaveOptions.AcceptAllChangesAfterSave调用ObjectContext中的SaveChanges。
因此,所有更改都将在保存后进行记录。
我想在手动模式下控制它:
现在,2和3是一次联合的,所以我不能在2到3之间做一些操作,我怎么能把它分开呢?
发布于 2017-01-16 13:03:14
根据Ivan Stoev的评论:
internal sealed class TestContext : DbContext
{
protected ObjectContext ObjectContext => ((IObjectContextAdapter)this).ObjectContext;
public override int SaveChanges()
{
//detect all changes in context
ChangeTracker.DetectChanges();
//write changes to database
var result = ObjectContext.SaveChanges(System.Data.Entity.Core.Objects.SaveOptions.None);
//do some actions with entities
DoStuff();
//accept all changes in entities
ObjectContext.AcceptAllChanges();
return result;
}https://stackoverflow.com/questions/41674145
复制相似问题