Исключение нехватки памяти при добавлении миллиона записей в список перед сохранением с использованием EFC#

Место общения программистов C#
Anonymous
Исключение нехватки памяти при добавлении миллиона записей в список перед сохранением с использованием EF

Сообщение Anonymous »

Попытка сохранить миллион записей в таблице сервера SQL с помощью EF Core. Сначала читаем один миллион записей из промежуточной таблицы и сохраняем их в списке, а затем с помощью функции AddRangeAsync EF Core сохраняем данные из списка. Вот блок кода

Код: Выделить всё

    var importJobValidations = new List();
importJobValidations.AddRange(
(from stg in stagingUnits.AsEnumerable()
select new ImportJobValidation
{
Guid = Guid.NewGuid(),
StudyProductStagingID = stg.Id,
IsValidationSuccessful = !errors.Exists(e => e.StagingId == stg.Id),
Type = "UPLOAD",
IsActive = true,
CreatedBy = userId,
CreatedOn = DateTime.UtcNow
}));
await _supplyManagementHangFireContext.AddRangeAsync(importJobValidations);
await _supplyManagementHangFireContext.SaveChangesAsync();
stagingUnits — это IQueryable. Приведенный выше блок кода выдает исключение «Недостаточно памяти»..
Как лучше всего исправить исключение «Недостаточно памяти» в этом сценарии.

Подробнее здесь: https://stackoverflow.com/questions/789 ... t-before-s

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