Betrachten Sie den folgenden Code, der gegen einen von EF generierten Datenkontext aufruft:
%Vor%Wenn ich den Namen der Abteilungsbeziehung ändere, wird dieser Code einen Laufzeitfehler auslösen. Also gibt es eine Möglichkeit, die .Include () -Methode in einer sicheren Weise aufzurufen, so dass ich die Kompilierzeit für alle Beziehungen überprüfen, auf die verwiesen wird?
Ich habe die Idee von moi_meme einen Schritt weiter entwickelt und meine Kollegin entwickelte die folgende Lösung, die in allen Fällen funktioniert. Er führte eine neue Methode namens caled Includes()
für den Umgang mit One-to-Many- und Many-to-Many-Beziehungen ein. Es erlaubt Ihnen, dies zu schreiben:
wie folgt:
%Vor%Alles Gute geht an Ссылка , also gib ihm etwas Liebe, wenn dir die Lösung gefällt.
> %Vor%Ich habe das folgende mit Entity Framework 5 verwendet. Der Schlüssel ist, System.Data.Entity
einzuschließen %Vor%Ich habe eine kleine Erweiterung von ObjectQuery gemacht, die so läuft
%Vor%was auch erfordert
%Vor%damit können Sie
machen %Vor%wird zur Kompilierzeit überprüft. Wenn ich mich richtig erinnere, funktioniert diese Methode nicht für eine Viele-zu-Viele-Beziehung, aber sie funktioniert für Dinge wie
%Vor%Viel Glück für Sie
Falls Sie immer noch Versionen vor Entity Framework 5 verwenden, ist die gute Nachricht ab C # 6, Sie können nun nameof
verwenden, um den Namen einer Klasse / eines Objekts abzurufen.
So können Sie jetzt
machen %Vor%Wenn Sie EF & gt; 5, dann Xaviers Antwort ist besser
Tags und Links .net entity-framework