Maison >développement back-end >C++ >Comment le filtré d'EF Core inclut-il Optimiser les requêtes en filtrant les entités liées?

Comment le filtré d'EF Core inclut-il Optimiser les requêtes en filtrant les entités liées?

Susan Sarandon
Susan Sarandonoriginal
2025-01-31 03:06:10772parcourir

How Does EF Core's Filtered Include Optimize Queries by Filtering Related Entities?

EF Core 5 filtré inclut: rationaliser le filtrage des entités liées

L'entité Core Framework (EF Core) nécessite fréquemment le filtrage des données tout en incluant des entités associées. Avant EF Core 5, cela impliquait souvent des solutions de contournement lourdes. L'introduction de "Filtory inclut" simplifie considérablement ce processus.

La compréhension filtrée inclut les fonctionnalités

Filtorté Inclus permet le filtrage des entités incluses en fonction des propriétés de leurs propriétés de navigation. Les opérations prises en charge incluent Where, OrderBy / ThenBy (ascendant / descendant), Skip et Take.

Considérez cet exemple de modèle:

<code>public class Blog
{
    public int BlogId { get; set; }
    public ICollection<Post> Posts { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public int AuthorId { get; set; }
    public Author Author { get; set; }
}

public class Author
{
    public int AuthorId { get; set; }
    public string Name { get; set; }
}</code>

Inclure les publications filtrées par le nom de l'auteur:

<code>using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts.Where(post => post.Author.Name == "Alexander"))
        .ToList();
}</code>

Considérations clés

  • La fixation des relations peut inclure des entités supplémentaires.
  • Les expressions de filtre doivent être des prédicats autonomes.
  • filtré inclut n'a pas d'impact sur le filtrage global des requêtes.
  • Les projections ignorent généralement les incluses (y compris celles filtrées), à des exceptions lors de la projection de l'entité incluse elle-même.

Les avantages de l'utilisation du filtré incluent

  • Optimisation de requête simplifiée.
  • Amélioration des performances grâce à une récupération de données réduite.
  • Contrôle de requête amélioré avec filtrage d'entité associé.

en résumé

Filtré dans EF Core 5 fournit un moyen puissant et efficace de gérer le filtrage des entités connexes. Cette fonction optimise les requêtes, améliore les performances et offre un contrôle plus précis sur la recherche de données dans vos applications EF Core.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn