У меня есть код, похожий на этот:
var records = db.Records.Where(r => r.IsProcessing == false).Take(100).ToList();
records.IsProcessing = true;
await db.SaveChangesAsync()
...further work with recods
Если этот код выполняется на нескольких экземплярах микросервиса, может ли возникнуть проблема параллелизма? (Т. е. две службы получат один и тот же набор записей). И если да, то как мне это предотвратить?
Я хочу, чтобы мои службы не получали одни и те же записи из БД, если они одновременно вызывают этот метод.