Entity Framework - Navigieren und Einschließen von Eigenschaften über Sammlungen

8

Ich hatte gerade einen massiven * blonde Moment ** , aber es ist ein Ärger mit Entity Framework hervorgehoben. Ich habe das Lazy Loading deaktiviert, also zwinge ich mich dazu, darüber nachzudenken, welche Daten ich benötige, um die Anwendung so schnell wie möglich zu halten.

Um also Daten innerhalb einer Abfrage zurückzugeben, muss ich die Methode Include verwenden:

%Vor%

Das ist in Ordnung, bis ich ein Element etwas tiefer in die Hierarchie auswählen möchte. Ie:

%Vor%

Soweit ich weiß, wäre die einzige Möglichkeit, all diese Daten bereitwillig zurückzugeben, Folgendes:

%Vor%

Mit dem obigen kann ich die System.Data.Entity Lambdas nicht wie in meinem ersten Beispiel verwenden. Weiß jemand, ob hier etwas offensichtlich ist, oder bleibe ich bei der Verwendung von String-Deklarationen für meine Navigationseigenschaften durch Sammlungen?

Wenn ich keine Sammlungen hätte, könnte ich einfach schreiben:

%Vor%

Aber wegen der Orders -Auflistung gibt es keine Möglichkeit, zu einer Kind-Eigenschaft zu gelangen, soweit ich das beurteilen kann ( FirstOrDefault , SingleOrDefault , usw. funktionieren nicht).

** Es ist nur eine Redewendung, ich bin zufällig sehr blond Blondinen *

    
GenericTypeTea 23.09.2010, 16:59
quelle

1 Antwort

14

Zum Einbinden von EntityCollections verwenden Sie die Select -Methode:

%Vor%

Bitte beachten Sie, dass dies keine Überladung des Standards ObjectQuery & lt; T & gt; .Include-Methode und ist lediglich eine Erweiterungsmethode für ObjectQuery & lt; T & gt; Die Klasse kommt mit EF CTP4 .

    
Morteza Manavi 24.09.2010, 02:05
quelle