Heim > Backend-Entwicklung > C++ > Wie kann ich effizient verwandte Einheiten mit einer Where -Klausel in einer EF -Abfrage einbeziehen?

Wie kann ich effizient verwandte Einheiten mit einer Where -Klausel in einer EF -Abfrage einbeziehen?

Linda Hamilton
Freigeben: 2025-02-01 13:51:10
Original
910 Leute haben es durchsucht

How Can I Efficiently Include Related Entities with a Where Clause in an EF Query?

Optimierung von EF -Abfragen: Filterung verwandte Entitäten mit include

Dieser Artikel befasst sich mit der Herausforderung, verwandte Entitäten mit einer Where -Klausel innerhalb einer Entitätsgerüstabfrage (EF) effizient abzurufen. Das Ziel ist es, mehrere Datenbankfahrten zu vermeiden.

Das Szenario umfasst zwei Einheiten: Bus und Person, wobei Bus eine Sammelnavigationseigenschaft für Person verfügt. Das Ziel ist es, alle Busse abzurufen, zusammen mit nur jenen Passagieren, die wach sind.

Ein gemeinsamer ineffizienter Ansatz führt zu mehreren Datenbankaufrufen. Eine effizientere Lösung besteht Where Hier ist ein Beispiel, das diesen Ansatz demonstriert:

Dieser Code holt zuerst Fahrbusse und ihre wachsenden Passagiere in einer einzelnen Datenbankabfrage ab. Der
Context.Configuration.LazyLoadingEnabled = false;
var buses = Context.Busses.Where(b => b.IsDriving)
            .Select(b => new
            {
                Bus = b,
                AwakePassengers = b.Passengers.Where(p => p.Awake)
            })
            .AsEnumerable()
            .Select(x => x.Bus)
            .ToList();
Nach dem Login kopieren
Call materialisiert die Ergebnisse im Speicher und ermöglicht EF, die Beziehungen korrekt aufzubauen. Schließlich werden nur die

Objekte ausgewählt und zurückgegeben. AsEnumerable() Bus

Wichtige Überlegungen:

Diese Methode kann zwar in EF6 wirksam sind, erfordert möglicherweise Anpassungen für viele zu viele Beziehungen und in EF-Kern. EF Core bietet Funktionen wie globale Abfragefilter, die alternative Lösungen für komplexere Szenarien bieten können. Ausführliche Informationen zu diesen fortschrittlichen Techniken und zur Bearbeitung vieler Beziehungen finden Sie in der ursprünglichen Quelle.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient verwandte Einheiten mit einer Where -Klausel in einer EF -Abfrage einbeziehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage