Linq to Entities - eifriges Laden mit Include ()

8

Ich habe diese wirklich grundlegende Tabellenstruktur:

dbo.tblKategorie
dbo.tblQuestion (Viele-zu-eins-Beziehung zu tblCategory)
dbo.tblAnswer (Viele-zu-eins-Beziehung zu tblQuestion)

Was ich im Grunde tun möchte, ist, wenn ich eine Kategorie lade, möchte ich auch alle Fragen und alle Antworten laden.

Nun konnte ich das mit dem folgenden Code machen:

%Vor%

Allerdings bin ich nicht vollständig verliebt; wenn sich die Beziehungsnamen in meinem Modell ändern; Ich werde beim Erstellen des Projekts keinen Fehler erhalten. Idealerweise würde ich gerne einen Lambda-Ausdruck verwenden; etwas wie das:

%Vor%

Nun, mit dem obigen Ausschnitt; Ich bleibe dran, wie ich auf die Answers-Tabelle drehe. Irgendeine Idee darüber, was ich für einen Lambda-Ausdruck für diesen verwenden könnte?

    
Jim B 06.07.2010, 12:05
quelle

1 Antwort

7

OK; Ich konnte dies mit etwas Hilfe von hier .

Grundsätzlich muss ich das tun:

%Vor%

Aus dem obigen Link kann ich nur TblAnswers zu einzelnen Items der Fragensammlung dereferenzieren. Hier entschied ich mich, tblAnswers auf den ersten Gegenstand der Sammlung zu dereferenzieren. In Wirklichkeit wird dieser Lambda-Ausdruck lediglich verwendet, um den Eigenschaftspfad "tblQuestion.tblAnswers" zu erzeugen, der die Antworten aller Fragen eifrig laden wird.

Obwohl es aussieht, als würde ich nur die Antworten auf die erste Frage ziehen, ziehe ich eigentlich alle Antworten auf alle Fragen.

    
Jim B 06.07.2010, 19:06
quelle