Я использую EF Core для вставки данных в базу данных SQLite, и у меня возникли проблемы с производительностью. Операция, которую я пытаюсь выполнить, заключается в вставке только одного объекта за раз, но этот объект имеет множество созданных с его помощью подобъектов, всего более тысячи строк. Сейчас я делаю это:
Код: Выделить всё
public void AddNew()
{
Entity entity = new();
_context.ChangeTracker.AutoDetectChangesEnabled = false;
_context.Entities.Add(entity);
_context.SaveChanges();
_context.ChangeTracker.AutoDetectChangesEnabled = true;
}
Для контекста: создание нового объекта занимает около 1 секунды, операция Add() — около 0,5 секунды, а вызов SaveChanges() — около 0,5 секунды. В среднем 7–10 секунд.
Я задавался вопросом о вставке подобъектов отдельно, но не уверен, как бы я это сделал, сохранив при этом все автоматически сгенерированные ключи и отношения те же.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... of-sub-ent