Entity Framework Code Erste IQueryable

8

Ich verwende den Entity Framework Code First und rannte in eine kleine Straßensperre. Ich habe eine Klasse "Person" definiert als:

%Vor%

und eine Klasse "History" als solche definiert:

%Vor%

Wenn ich jedoch anrufe:

%Vor%

Es scheint, als würde man die ganze Geschichte für die Person ziehen und dann in der Erinnerung ordnen. Irgendwelche Empfehlungen zu was ich vermisse?

Vielen Dank im Voraus!

    
Terry 24.06.2011, 15:42
quelle

2 Antworten

5

Weil Sie eine IEnumerable (dh: LINQ to Objects) nicht IQueryable (dh: LINQ to Entities) durch EF abfragen.

Stattdessen sollten Sie

verwenden %Vor%     
Eranga 24.06.2011, 16:07
quelle
0

Diese Frage und die angenommene Antwort sind beide ein bisschen alt. Code wie dieser würde, wie die ursprüngliche Frage zeigt, den gesamten Verlauf für die Person aus der Datenbank laden - nicht gut!

%Vor%

Mit EF 6 gibt es eine einfache Lösung. Ohne die Abfrage neu anordnen zu müssen, können Sie die Methode IQueryable verwenden, indem Sie die DbContext.Entry method , die Methode DbEntryEntity.Collection und die Methode DbCollectionEntry.Query .

%Vor%     
Timothy Shields 24.04.2015 21:57
quelle

Tags und Links