Повышение производительности операции добавления EF Core для объекта с сотнями подобъектов.C#

Место общения программистов C#
Ответить
Anonymous
 Повышение производительности операции добавления EF Core для объекта с сотнями подобъектов.

Сообщение Anonymous »

Я использую 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»