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 ситуация искусственная, меня интересует, что надо делать с контекстом после первого исключения.