Я тестирую транзакцию с помощью этого кода:
Код: Выделить всё
public async Task TestTransaction()
{
var listTester = await _context.Tester.ToListAsync();
using var transaction = _context.Database.BeginTransaction();
try
{
for (int i = 0; i
{
x.Value += i;
});
_context.SaveChanges();
}
transaction.Rollback();
var newLister = await _context.Tester.ToListAsync();
return Ok(newLister);
}
catch (Exception)
{
// TODO: Handle
return BadRequest("Data failed");
}
}
Код: Выделить всё
new Tester(){ Name = "test", Value = 0 }
Код: Выделить всё
new Tester(){ Name = "test", Value = 15 }
Код: Выделить всё
var newLister = await _context.Tester.ToListAsync();
Почему функцияrollBack() не повлияла на текущие данные ?
Примечание: я хочу протестировать SaveChanges() в каждом цикле, я знаю, что могу поместить SaveChanges после завершения цикла. Но я просто хочу это проверить
Подробнее здесь: https://stackoverflow.com/questions/690 ... -new-value
Мобильная версия