0

我们有一个巨大的 EF 上下文模型。我只想从一个父表及其子表批量插入数据。BulkSaveChanges 花费的时间太长,我正在玩 BulkInsert 但是当我设置时options.IncludeGraph = true它需要更长的时间。有没有办法阻止 Dapper 搜索所有相关对象而只插入来自 Parent 表和 Child 的数据?

4

1 回答 1

1

你能调用两次批量插入吗?一份给父母,一份给孩子

context.BulkInsert(parents);
context.BulkInsert(parents.SelectMany(x => x.Childs));

插入父母后,孩子仍然有 ParentId = 0

我们希望尽快改进这部分,但此时,您需要将 ParentId 分配给您的孩子。

例如:

context.BulkInsert(parents);
parents.ForEach(x => x.Childs.ForEach(y => y.ParentID = x.ID));
context.BulkInsert(parents.SelectMany(x => x.Childs));
于 2019-02-05T14:27:36.547 回答