Ich versuche, mit SQLite den Inhalt einer Tabelle zu ändern. Die Tabelle „Job“ hat eine Spalte für „EmployeeID“ und ich versuche gerade, eine Funktion zu schreiben, bei der, wenn ein Eintrag in dieser Tabelle eine bestimmte EmployeeID hat, diese Zahl auf 0 gesetzt wird. Derzeit habe ich folgenden Code geschrieben:
Code: Select all
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);
}
}
Offensichtlich aufgrund der Verwendung von .FirstOrDefaultAsync(); wird das Feld „EmployeeId“ des ersten Ergebnisses nur auf 0 gesetzt. Mein Ziel ist es, dass 0 auf das Feld „EmployeeId“ aller Ergebnisse angewendet wird. Ich weiß, dass es ein .ForEachAsync gibt, aber es scheint Teil von Entity Framework zu sein, was sich meiner Meinung nach davon unterscheidet? Es scheint keinen .ForEachAsync als normalen Befehl zu geben. Normalerweise würde ich in einer solchen Situation von einer Forloop ausgehen, bin mir aber nicht sicher, wie das in diesem speziellen Kontext funktionieren würde. Vielen Dank für den Einblick, ich bin etwas neu in diesem Bereich des Codierens!