我在进程中插入/更新大量实体(〜5000),这需要花费大量时间(它在5分钟的事务中超时)。如何访问EntityManager中使用的DBContext?
我读到默认情况下DBContext.AutoDetectChangesEnabled设置为ON并导致这种行为(http://www.exsertus.be/2014/10/ef-bulk-performance/)。
就我的理解,Devforce“种类”在每个EntityManager中封装了一个DBContext。 Devforce使用它自己的实现,除非我定义了我所做的。我想知道如何访问它以便能够使用此属性AutoDetectChangesEnabled“玩”。
或者是否有任何其他解决方案使用Devforce插入/更新/删除大量实体?
问候
嗨kim。考虑到所有的应用程序/模型是基于devforce的,最好的方法是什么?另外我注意到,当我调用SavesChanges()时,我可以等待超过1分钟才能看到发送给SQL服务器的第一个SQL顺序,为什么生成SQL这么长时间。我不知道是谁生成了它,Devforce或EF ... – kdev 2014-12-16 08:54:35
EF生成SQL,但是可能会有更多的事情发生,而不仅仅是SQL生成使其变得缓慢。虽然我没有任何经验,但如果批量操作不是主应用程序的一部分,我会考虑使用EF实用程序。如果您希望IdeaBlade的某人进一步了解这一点,请通过网络支持表单打开技术支持案例。 – 2014-12-16 16:37:26