Maison >développement back-end >C++ >Comment puis-je filtrer les données incluses dans l'entité Framework Core?

Comment puis-je filtrer les données incluses dans l'entité Framework Core?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-31 03:01:09339parcourir

How Can I Filter Included Data in Entity Framework Core?

L'entité Le noyau du cadre contient

Lorsque vous utilisez le noyau du cadre d'entité, vous pouvez rencontrer une situation qui doit être filtrée en fonction d'un attribut spécifique.

Principe de travail

Entity Framework Core 5 introduit la fonction contenant du filtre, vous permettant de spécifier le where, orderBy / orderByDesmenting, alors par le bystension, sauter et prendre les opérateurs lorsque vous incluez des données connexes.

Exemple

Considérez le code suivant:

Dans cet exemple, nous avons filtré les résultats de l'inclusion, y compris uniquement le message de l'auteur. Ceci est réalisé en appliquant les symboles opérationnels à la collection.

Précautions
<code class="language-csharp">using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts.Where(p => p.Author == "me")) // 过滤包含
        .ToList();
}</code>

Chaque attribut de navigation ne peut appliquer qu'un seul filtre. Certaines opérations accumuleront des résultats (par exemple,

renverra les clients avec toutes les commandes).
  • Le filtre doit utiliser le prédicat qui peut être utilisé indépendamment (par exemple,
  • ).
  • Include(c => c.Orders.Where(o => o.Name != "Foo")).Include(c => c.Orders.Where(o => o.Name == "Bar")) Le filtre contient ne pas affecter les demandes du Seigneur (par exemple,
  • retourner à tous les clients, pas seulement ceux qui ont des commandes de déballage).
  • o => o.Classification == c.Classification La projection est négligée, qu'elle soit filtre ou unique.
  • Cependant, lorsque la projection physique contient les attributs qui peuvent être utilisés, il sera appliqué. Include(c => c.Orders.Where(o => o.IsDeleted))
  • Cette réponse révisée maintient l'image et son format d'origine, les phrases de reformularité pour un flux et une clarté améliorés, et simplifie l'exemple de code pour la lisibilité à Better tout en conservant la signification d'origine. 🎜>

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