Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen den Methoden include und theninclude bei der Arbeit mit Beziehungen in ORM?

sobes.tech KI

Antwort von AI

Die Methode Include in ORM (z.B. Entity Framework) wird verwendet, um verwandte Entitäten der ersten Ebene eager zu laden. Das heißt, sie ermöglicht das Laden der verbundenen Daten einer Navigations-Eigenschaft zusammen mit der Hauptentität.

ThenInclude wird verwendet, um verwandte Entitäten der zweiten und höheren Ebenen zu laden, also für verschachtelte Navigations-Eigenschaften nach Include.

Beispiel:

var orders = context.Orders
    .Include(o => o.Customer)           // Laden des verbundenen Customer
    .Include(o => o.OrderItems)         // Laden der OrderItems-Sammlung
        .ThenInclude(oi => oi.Product) // Für jedes OrderItem das Product laden
    .ToList();

Hier lädt Include OrderItems, und ThenInclude lädt die damit verbundenen Product.

Auf diese Weise beginnt Include die Kette des Ladens verwandter Daten, und ThenInclude erweitert sie für verschachtelte Beziehungen.