gpt4 book ai didi

entity-framework - 如何在执行 entityframework.bulkinsert 时插入父子?

转载 作者:行者123 更新时间:2023-12-05 04:16:26 25 4
gpt4 key购买 nike

我正在使用 Entityframework 6,我正在尝试在数据库中插入父子类型的数据。我正在使用 Entityframework.BulkInsert 插入数据。我在所有表中都有autoIncrement int primary key

我的目标如下:

    var parentObjects= new List<parentObject>();            
var childObjects= new List<childObject>();

for (int i = 0; i <= 100; i++)
{
var parentObj= new parentObject()
{
Name="p1",
Address="a1"
};

childObjects= SeedInitializer.ChildItems.OrderBy(x => new Random().Next()).Take(2).ToList();//this gets 2 child objects
foreach (var childObj in childObjects)
{
childObj .ParentObject= parentObj;
//childObj .CommissionPlanId = i; //tried this still not working
parentObj.ChildObjects.Add(childObj );
}
parentObjects.Add(parentObj);
}
//when I do a quickwatch on parentObjects, i see child objects in each parentObject, but
//with the last id of parentObject
context.BulkInsert(parentObjects, 1000);
context.SaveChanges();

在保存时,仅在 childObject 中创建了 2 条记录,这些记录是使用错误的 parentObject id 创建的,即 0我无法理解为什么在创建父对象时未创建子项。有人可以帮助我了解我在哪里做错了吗?

最佳答案

免责声明:我是EntityFramework.BulkInsert的所有者

你不能。

此功能从未实现过。

免责声明:我是Entity Framework Extensions的所有者

但是,这个新库(不是免费的)可以轻松处理这种情况。

BulkSaveChanges 的工作方式与 SaveChanges(处理父/子)完全相同,但速度更快!

支持所有方法:

  • 批量保存更改
  • 批量插入
  • 批量删除
  • 批量更新
  • 批量合并

例子

// Easy to use
context.BulkSaveChanges();

// Easy to customize
context.BulkSaveChanges(bulk => bulk.BatchSize = 100);

关于entity-framework - 如何在执行 entityframework.bulkinsert 时插入父子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com