Entity Framework Lazy Loading

8
%Vor%

Problem ist, nachdem ich das Ergebnis zurückgegeben habe, die Verbindung geschlossen ist und weil es geschlossen ist, stürzt es ab, wenn ich versuche, auf eines der untergeordneten Elemente zuzugreifen. Das passiert, weil Lazy Loading auf True (Standard) gesetzt wird und die Child-Relationen nie geladen werden, bevor sie benutzt werden, und ich benutze sie NACH dem Beenden der Verbindung. Also, wie ist der beste Weg, um das zu lösen?

Ich habe versucht, das Lazy-Laden auszuschalten, aber dann hat es keine der Child-Relation-Tabellen geladen.

    
syncis 10.01.2011, 14:39
quelle

2 Antworten

14

Sie können Ihre untergeordneten Sammlungen immer explizit laden:

%Vor%     
Justin Niessner 10.01.2011, 14:42
quelle
3

Sie können die .include () Methode verwenden.

%Vor%

Sie können auch einen result.ChildEntitySet.Load() -Aufruf hinzufügen, bevor Sie zurückkehren. Dies ist weniger effizient, da es zu zwei Fahrten zum Server kommt. Wenn Sie die .Include () - Methode verwenden, wird eine SQL-Anweisung mit einem JOIN generiert, die nur eine Reise zum Server zulässt.

    
NYSystemsAnalyst 10.01.2011 14:41
quelle

Tags und Links