What logic determines the insert order of Entity Framework 6

时光怂恿深爱的人放手 提交于 2019-12-04 23:30:48
  • There is no way you can specify a save order in EF6 or EF7.
  • The issue is not resolved in EF7 since this is not an issue.
  • The order will be the same if the predecessor is the same (which will likely rarely happen)

When you call SaveChanges, all entities are ordered from an internal order in the method “ProduceDynamicCommands” then sorted again by the method “TryTopologicalSort” which loops to add command with no predecessor left (if you add A and B and A depend on B, then B will be inserted before A)

You are left to insert by batch addition.

Since it takes you 3 seconds to perform your insert, I will assume you have thousands of entities and performing bulk insert may improve your performance to reduce the 10 seconds to less, and then maybe the initial 3 seconds!

Here are 2 libraries I can recommend:

Disclaimer: I'm the owner of the Entity Framework Extensions project.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!