Есть ли способ включить одну дочернюю таблицу при групповой вставке из контекста EF? - PullRequest
0 голосов
/ 04 февраля 2019

У нас огромная контекстная модель EF.Я хочу массово вставить данные из одной родительской таблицы и только ее дочерней таблицы.BulkSaveChanges занимает слишком много времени, и я играю с BulkInsert, но когда я устанавливаю options.IncludeGraph = true, это занимает еще больше времени.Есть ли способ запретить Dapper искать все связанные объекты и вставлять данные только из таблицы Parents и из Child?

1 Ответ

0 голосов
/ 05 февраля 2019

Можете ли вы позвонить вдвое больше, вкладыш?Один для родителей, один для их детей

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));
...