EF5 - JOIN
-
Hallo,
ich habe ein Problem. Ich habe die Tage mal ein altes Projekt von mir rausgekramt weil ich was nachsehen sollte. Und zwar habe ich über .Include("") mehrer verknüpfte Tabellen in meine Abfrage einbezogen. Das funktionierte auch wunderbar. Ich konnte in der Ausgabe die Mords SQL JOINs sehen. Der Grund wieso ich das alte Projekt ausgekramt habe war, dass in meinem aktuellen Projekt das nicht mehr so ganz funktioniert wie ich mir das vorstellt habe. Ich habe mir mit der Zeit angewöhnt, Abfragen asynchron auszuführen und direkt zu materialisieren. Das hat den Vorteil, dass die Oberfläche nicht hängt. Nun ist mir aber aufgefallen, dass diesmal keine JOINs generiert werden, sondern das nur die Haupttabelle geladen wird, und dann fangen mein Controls an, sich die Daten aus der Datenbank zu holen. Aber eigentlich sollten die Daten schon im RAM sein. In der Ausgabe kann man aber leider das Gegenteil sehe.
Nun meine Fragen:
1.) (Unabhängig von meinem Problem) Wie machen die das intern? Also wenn die einen JOIN abfeuern und eine riesen Tabelle zurück bekommen, wie werden dann die Entitäten befüllt?2.)Das hat wirklich was mit meinem Problem zu tun;-). Kann man einen JOIN erzwingen damit die Daten in einem rutsch geladen werden oder entscheidet das EF wann ein JOIN "sinnvoll" ist?