【发布时间】:2020-05-30 11:43:29
【问题描述】:
问题:
如果我将 SaveChangesAsync 放在循环之外,它只会更改与 _context.Add(attdef); 一起放置的最后一个数据
为什么会这样?
起初我以为是因为我有autoIncrement,但是当我禁用它时,它仍然不起作用。
使用 SaveChanges 代替 SaveChangesAsync 也不能解决问题。
但更新数据效果很好。
GameController.cs
for (int i = 0; i < editViewModel.TowerAttack.Count; i++)
{
tower = _context.Tower.First(m => m.TowerId == editViewModel.TowerId[i]);
tower.Attack -= editViewModel.TowerAttack[i];
_context.Update(tower);
attdef.Id = 0; // AutoIncrement
attdef.Amount = attackSum;
_context.Add(attdef);
}
await _context.SaveChangesAsync();
【问题讨论】:
标签: c# asp.net database entity-framework linq