Page 1 of 1

EF Core liest abgestandene Daten / Caching

Posted: 10 May 2025, 22:13
by Anonymous
Ich habe einen einfachen Fall, 1 Abteilung kann N -Benutzer haben. Wenn einem Benutzer eine neue Abteilung zugewiesen wird, überprüfe ich, ob die Abteilung keinen Benutzer übrig hat. In diesem Fall sollte die Abteilung sofort gelöscht werden.if (newDepId != user.DepartmentId)
{
DbContext.Users.Where(u => u.Id == user.Id)
.ExecuteUpdate(u => u.SetProperty(u => u.DepartmentId, newDepId));

Department? dep = await DbContext.Departments
.Include(d => d.Users)
.FirstOrDefaultAsync(d => d.Id == user.DepartmentId);

if (!dep.Users.Any())
{
DbContext.Departments.Remove(dep);
await DbContext.SaveChangesAsync();
}
}
< /code>
Mein Problem: In der Abteilung Abfrage wird das reflektierte Update nicht angezeigt (dem Benutzer wird der Ablage in der zweiten Abfrage weiterhin zugeordnet). Daher muss die Abfrageabfrage abgestandene Daten lesen. Bei der Ausführung derselben Abfrage wie EF -Kernprotokolle in der Konsole können ich nicht abgestandene Daten in der Datenbank sehen. In beiden Fällen (ExecuteUpdate- und Abteilungsabfrage) EF -Kernprotokolle, die Datenbankbefehl (aktualisieren bzw. auswählen), auch wenn Daten aus seinem Cache gelesen werden?