DbContext is very slow when adding and deleting

前端 未结 2 1932
伪装坚强ぢ
伪装坚强ぢ 2020-12-07 22:38

When using DbContext in a database-first scenario I found out that adding and deleting entities is very slow compared to ObjectContext. If adding 2000 entities and saving th

2条回答
  •  借酒劲吻你
    2020-12-07 23:41

    Try to add this to your DbContext tests:

    dbContext.Configuration.AutoDetectChangesEnabled = false;
    
    // Now do all your changes
    
    dbContext.ChangeTracker.DetectChanges();
    dbContext.SaveChanges();
    

    and try to run your tests again.

    There was some architectural change in DbContext API which checks changes in entities every time you Add, Attach or Delete anything from the context. In ObjectContext API this detection run only when you triggered SaveChanges. It is better solution for most common scenarios but it requires special handling for mass data processing.

提交回复
热议问题