EF Core liest abgestandene Daten / Caching

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: EF Core liest abgestandene Daten / Caching

by Anonymous » 10 May 2025, 22:13

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?

Top