Можно ли обновить полученные данные
Я написал некоторый код, который получает логи из базы данных, обрабатывает их, и если что-то идет не так, в базу данных записывается сообщение об ошибке. В конце кода я удаляю все записи из базы данных, где поле ошибки (в базе данных) равно null.
var logs = ctx.Logs.Where(record => String.IsNullOrEmpty(record.Error))
.Where(record => !Beingprocessed.Contains(record))
.Take(100)
.ToArray();
Выборка / обработка / удаление выполняется в нескольких потоках одновременно, поэтому записи могут быть удалены другим потоком из базы данных во время выполнения этого кода. Есть ли возможность просто обновить logs
со значениями из базы данных?
Что-то вроде
logs.Update();
ctx.Logs.RemoveRange(logs.Where(l => l.Error == null));
ctx.SaveChanges();
(я знаю, что могу просто использовать ID из logs
и т. д. чтобы получить их снова, но я хочу знать, есть ли что-нибудь, что существует для обновления сущностей, которые вы извлекли из базы данных.)