使用EFBulkInsert在子属性上设置ID

时间:2015-04-27 01:00:09

标签: performance entity-framework bulkinsert

所以即时使用EFBulkInsert https://efbulkinsert.codeplex.com/

问题是我有子对象我需要设置插入的父对象的ID。

以前在插入父对象之后,我试图依赖上下文来返回id并将它们设置在子对象上 - 然后使用EFBulkInsert插入子对象 - 即使在重新创建之后,上下文也会立即混淆上下文,我在子对象上得到了错误的id。

有没有人有一个好的模式/策略来设置子对象的父ID我应该提到我正在为一批1000个父对象执行此操作。所以我并不特别希望在父对象的SaveChanges之后从数据库中获取id,除非它具有高性能。

1 个答案:

答案 0 :(得分:0)

我最好的想法是添加两个临时列,firtst用于保存原始Id,第二列用于保存parentId。批量插入后更新正确的列。此方法需要特权来修改表。

当我无法修改数据库时,我遇到了类似的问题,因此我将AutoDetectChangesEnabledValidateOnSaveEnabled设置为false,但结果不是很满意。

相关问题