2016-09-09 6 views
0

In meiner letzten Frage wurde darauf hingewiesen, dass DbSet.Local führt automatisch Änderungen erkennen die Frage Siehe: Why is referencing DbSet.Local slow in a loop?Warum erkennt DbSet.Local Änderungen automatisch erkennen?

In den Antworten-Kommentare Link https://msdn.microsoft.com/en-us/data/jj556205.aspx geschrieben wurde, die die Eigenschaften

Standardmäßig listet führt das Entity Framework Änderungen automatisch erkennen, wenn die folgenden Methoden aufgerufen werden:

  • DbSet.Find
  • DbSet.Local
  • DbSet.Remove
  • DbSet.Add
  • DbSet.Attach
  • DbContext.SaveChanges
  • DbContext.GetValidationErrors
  • DbContext.Entry
  • DbChangeTracker.Entries

Es gibt zwei Eigenschaften in der Liste, von denen ich nicht sicher bin, warum Änderungen erkannt werden müssen: find und local Ich denke, es könnte notwendig sein, da es mehr Instanzen von DbSet geben kann und Änderungen sonst nicht synchronisiert würden.

Was ist der Zweck der Erkennung von Änderungen beim Suchen und lokal?

+1

Überprüfen Sie die Kommentare für https://blog.oneunicorn.com/2012/03/11/secrets-of-detectchanges-part-2-wenn-erkannt wird-automatisch-aufgerufen / –

Antwort

1

Von der link die in den Kommentaren gepostet wurde habe ich eine Antwort gefunden. Wenn DbSet.Local oder DbSet.Find keine Änderungen erkennt, erhalten Sie keine Entitäten, die sich im hinzugefügten Status befinden (noch nicht für die Datenbank festgeschrieben)

Verwandte Themen