Remove range в EF Core и транзакция

190
01 июня 2018, 18:30

Когда мы производим удаление с помощью Remove range в ef core у нас все выполняется в транзакции? Если, что то не удалится из списка удаляемых объектов откатится все?

Answer 1

Непосредственно удаление выполняется в транзакции, как и любой вызов SaveChanges/SaveChangesAsync.

Но надо понимать что без дополнительных телодвижений выборка данных из базы и их удаление - это две разные операции!

Если требуется чтобы выборка и удаление были в одной транзакции - транзакцию нужно создать явно:

using (var tran = ctx.Database.BeginTransaction()) 
{
    ctx.Foo.RemoveRange(ctx.Foo.Where(x => x.Bar = 42));
    ctx.SaveChanges();
    tran.Commit();
}
READ ALSO
Yii2 ActiveQuery сложный запрос

Yii2 ActiveQuery сложный запрос

Есть 2 таблицы: user и transactionСвязь один ко многим (1 пользователь – много транзакций)

300
Вывод отдельной записи

Вывод отдельной записи

У меня есть программа в которой выводятся данные в QTableView из таблицы mysqlКак реализовать что бы при нажатии на запись таблицы в списке подробная...

191
mysql select xml символ между элементами нод

mysql select xml символ между элементами нод

Всем привет! подскажите есть структура xml:

210
Процедура mysql

Процедура mysql

первый раз пишу процедуру в mysql пожалуйста поправьте меня

196