Wie führe ich eine Aktion für alle Ergebnisse einer SQLite-Abfrage durch?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Wie führe ich eine Aktion für alle Ergebnisse einer SQLite-Abfrage durch?

Post by Guest »

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!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post