Eigentlich habe ich eine Linq-Abfrage, die eine Entität und einige seiner Navigationseigenschaften abrufen.AsNoTracking() und Include
context.MyEntity
.AsNoTracking()
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.FirstOrDefault();
Jetzt Meine Frage ist:
genug Ist diese Abfrage für nicht MyEntity und NAV1, Nav2 verfolgen oder müssen AsNoTracking für jede Navigationseigenschaft hinzuzufügen. wie folgt:
Sie brauchen nur 'AsNoTracking' einmal pro Abfrage, also ist Ihr 1. Beispiel korrekt. Ich glaube, der zweite wird eine Laufzeitausnahme werfen (nicht sicher, welche). – Igor
Wenn Sie mehrere LINQ-Methoden verketten, übergeben Sie die zurückgegebene Sequenz immer von der vorherigen Methode an die folgende. Nach 'AsNoTracking' haben Sie eine Abfrage, in der die zurückgegebenen Entitäten nicht zwischengespeichert werden –
Tks für Ihre Hilfe –