Когда мы производим удаление с помощью Remove range в ef core у нас все выполняется в транзакции? Если, что то не удалится из списка удаляемых объектов откатится все?
Непосредственно удаление выполняется в транзакции, как и любой вызов SaveChanges/SaveChangesAsync.
Но надо понимать что без дополнительных телодвижений выборка данных из базы и их удаление - это две разные операции!
Если требуется чтобы выборка и удаление были в одной транзакции - транзакцию нужно создать явно:
using (var tran = ctx.Database.BeginTransaction())
{
ctx.Foo.RemoveRange(ctx.Foo.Where(x => x.Bar = 42));
ctx.SaveChanges();
tran.Commit();
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости