我在進程中插入/更新大量實體(〜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