Framework Entity: Chargement efficacement des données imbriquées
La méthode de Include()
Entity Framework simplifie le processus de données de chargement impatientes. Bien que simple pour les relations à un niveau, la gestion des propriétés profondément imbriquées nécessite une approche légèrement différente.
Chargement avide Propriétés imbriquées
Pour le chargement désireux de plusieurs niveaux, utilisez des expressions de lambda, prises en charge dans EF 6 et EF Core. Cela permet une sélection précise de propriétés imbriquées pour l'inclusion.
EF 6 Exemple:
<code class="language-csharp">using System.Data.Entity; query.Include(x => x.ApplicationsWithOverrideGroup.Select(y => y.Application));</code>
EF Core Exemple:
<code class="language-csharp">using Microsoft.EntityFrameworkCore; query.Include(x => x.ApplicationsWithOverrideGroup) .ThenInclude(x => x.Application);</code>
Ces exemples montrent comment inclure les propriétés Application
dans la collection ApplicationsWithOverrideGroup
, assurant une récupération complète des données dans une seule requête de base de données. Cela empêche les frais généraux de performances de plusieurs aller-retour dans la base de données. En utilisant cette technique, vous pouvez gérer efficacement des structures de données complexes et éviter les goulots d'étranglement de performance souvent associés à un chargement paresseux des propriétés profondément imbriquées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!