Maison >développement back-end >C++ >Comment puis-je filtrer les données renvoyées par les propriétés de navigation dans EF Core comprend?

Comment puis-je filtrer les données renvoyées par les propriétés de navigation dans EF Core comprend?

Barbara Streisand
Barbara Streisandoriginal
2025-01-31 02:56:12878parcourir

How Can I Filter Data Returned by Navigation Properties in EF Core Includes?

Le filtre inclut

En filtrant l'inclusion, vous pouvez réduire la plage de données renvoyée par l'attribut de navigation pendant la requête. Ceci est particulièrement utile lorsque vous devez filtrer en fonction des attributs contenant l'entité.

Exemple

Considérez le code suivant:

Ce code contient tous les articles et auteurs de chaque blog. Pour filtrer le résultat selon le nom de l'auteur, vous pouvez utiliser où l'opération:
<code class="language-csharp">using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts)
            .ThenInclude(post => post.Author)
        .ToList();
}</code>

Opérations prises en charge
<code class="language-csharp">using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts)
            .ThenInclude(post => post.Author)
        .Where(blog => blog.Posts.Any(p => p.Author == "me")) // 修正后的Where条件
        .ToList();
}</code>
EF Core 5 prend en charge les opérations suivantes pour le filtrage incluent:

OrderBy (Descending) / alorsby (Deshenging)
  • Skip
  • prendre
  • Explication importante
  • Chaque attribut de navigation ne permet qu'un seul filtre.
  • Le filtrage ultérieur comprendra des résultats accumuler les résultats.

Même si le chargement de retard est activé, le filtrage comprend le chargement considéré.

    L'expression du filtre doit être un prédicat "indépendant" qui peut être utilisé indépendamment pour la collecte de filtrage.
  • Filtre Inclure et le filtrage de requête
  • Le filtre comprend n'affectera pas le nombre d'éléments renvoyés par la requête principale. Pour filtrer les principaux résultats de la requête, utilisez une opération séparée et incluez.
  • La projection et le filtrage incluent
La projection ignore généralement inclure, qu'ils aient été filtrés. Cependant, si l'entité de la projection peut être incluse, incluez l'inclusion. (Remarque: Dans le texte d'origine, la description de la projection et du filtrage comprend est trop brève, et la description supplémentaire est plus claire ici.)

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