所以即时使用EFBulkInsert https://efbulkinsert.codeplex.com/
问题是我有子对象我需要设置插入的父对象的ID。
以前在插入父对象之后,我试图依赖上下文来返回id并将它们设置在子对象上 - 然后使用EFBulkInsert插入子对象 - 即使在重新创建之后,上下文也会立即混淆上下文,我在子对象上得到了错误的id。
有没有人有一个好的模式/策略来设置子对象的父ID我应该提到我正在为一批1000个父对象执行此操作。所以我并不特别希望在父对象的SaveChanges之后从数据库中获取id,除非它具有高性能。
答案 0 :(得分:0)
我最好的想法是添加两个临时列,firtst用于保存原始Id,第二列用于保存parentId。批量插入后更新正确的列。此方法需要特权来修改表。
当我无法修改数据库时,我遇到了类似的问题,因此我将AutoDetectChangesEnabled
和ValidateOnSaveEnabled
设置为false,但结果不是很满意。