Ich habe eine Frage zur .AsNoTracking()
Erweiterung, da dies alles ziemlich neu und ziemlich verwirrend ist.
Ich verwende einen Kontext pro Anfrage für eine Website.
Viele meiner Entitäten ändern sich nicht und müssen nicht nachverfolgt werden. Ich habe jedoch das folgende Szenario, in dem ich nicht sicher bin, was in die Datenbank gelangt oder ob dies in diesem Fall einen Unterschied macht.
Dieses Beispiel mache ich gerade:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Dies ist das gleiche wie oben, jedoch wird das .AsNoTracking()
aus Schritt 1 entfernt:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Die Schritte 1 und 2 verwenden denselben Kontext, treten jedoch zu unterschiedlichen Zeiten auf. Was ich nicht herausfinden kann, ist, ob es einen Unterschied gibt. Da es sich bei Schritt 2 um ein Update handelt, werden beide ohnehin zweimal in die Datenbank gelangen.
Kann mir jemand sagen, was der Unterschied ist?