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
Libérer: 2025-01-31 03:01:09
original
468 Les gens l'ont consulté

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
using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts.Where(p => p.Author == "me")) // 过滤包含
        .ToList();
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal