【问题标题】:Setting ID on child properties with EFBulkInsert使用 EFBulkInsert 在子属性上设置 ID
【发布时间】:2015-07-05 07:18:18
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: performance entity-framework bulkinsert


    【解决方案1】:

    我最好的想法是添加两个临时列,首先保存原始 ID,然后保存 parentId。批量插入后更新正确的列。此方法需要特权才能修改表。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 2019-03-29
      • 2011-11-30
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多