C# EFCore DbContext не добавляет записи после исключения

Если у меня есть некоторый DbContext, в котором есть некоторая таблица Entity, то при выполнении следующих инструкций

Entity[] entities = { ... };
DbContext dbContext = new();
foreach (var entity in entities)
{
    try
    {
        await dbContext.Set<Entity>.AddAsync(entity);
        await dbContext.SaveChangesAsync():
    }
    catch
    {
        // Logging
    }
}

в бд будут добавляться все записи до первого исключения, потом, на записе, которая спровоцировала исключение [1], я логирую, но все остальные записи не добавляются в бд, я всегда попадаю в блок catch и ловлю исключение, которое получил в [1]. В чем природа данного явления и как это исправить?

PS ситуация искусственная, меня интересует, что надо делать с контекстом после первого исключения.


Ответы (0 шт):