Массовая вставка для отношения «один ко многим»

#c# #entity-framework-core #bulkinsert

#c# #сущность-фреймворк-ядро #bulkinsert

Вопрос:

Я пытаюсь выполнить массовую вставку в отношение «один ко многим».

У меня есть два класса:

 public class Parent {

  public int Id {
    get;
    set;
  }

  public string Name {
    get;
    set;
  }

  public virtual ICollection<Child> Child {
    get;
    set;
  } = new List < Child > ();

}

public class Child {

  public int ChildId {
    get;
    set;
  }

  public virtual Parent Parent {
    get;
    set;
  }

}
 

Когда я провел некоторые исследования и разработки, я обнаружил, что мы можем использовать IncludeGraph=true для вставки дочерних таблиц.

 public void BulkInsertAsync(IEnumerable<Parent> parent) {
  _context.BulkInsert<Parent>(parent.ToList(), options => options.IncludeGraph = true);
}
 

Но проблема в том, что я получаю эту ошибку:

Массовая конфигурация не содержит определения для включения графа

Я пропустил какую-либо ссылку на сборку?

Пожалуйста, помогите мне в этом.

Комментарии:

1. BulkInsert не является встроенной функцией EF. Вы должны добавить тег для сторонней библиотеки, которую вы используете.

2. Я добавил EFCore. BulkExtensions также включает пакет nuget.

Ответ №1:

Вам необходимо обновить свой EFCore.Пакет BulkExtensions. У меня была такая же ошибка в 3.1.6; обновление до 3.6.3 позволило этому работать. Обратите внимание, что мне также пришлось обновить EFCore с 3.1.9 до 3.1.21