Я пытаюсь использовать Sqlite для изменения содержимого таблицы. В таблице «Работа» есть столбец для «EmployeeID», и в настоящее время я пытаюсь написать функцию, в которой, если какая-либо запись в этой таблице имеет заданный идентификатор сотрудника, этому числу будет присвоено значение 0. В настоящее время у меня есть код, написанный следующим образом:
Код: Выделить всё
public static async Task ClearEmployee(int oldId)
{
var foundJobs = await myDatabase.Table()
.Where(i => i.EmployeeId == oldId)
.FirstOrDefaultAsync();
if (foundJobs != null)
{
foundJobs.EmployeeId = 0;
await myDatabase.UpdateAsync(foundJobs);
}
}
Теперь, очевидно, из-за использования .FirstOrDefaultAsync(); он установит 0 только в поле «EmployeeId» первого результата. Моя цель состоит в том, чтобы к полю «EmployeeId» все результатов применялось значение 0. Я знаю, что существует .ForEachAsync, но он, похоже, является частью Entity Framework, которая, как мне кажется, отличается от этой? Кажется, нет .ForEachAsync как обычной команды. Обычно в такой ситуации я предпочитаю использовать forloop, но не уверен, как это будет работать в данном конкретном контексте. Спасибо за понимание, я новичок в этой области программирования!
Подробнее здесь:
https://stackoverflow.com/questions/793 ... qlite-quer