Heim >Backend-Entwicklung >C++ >Wie kann ich Daten filtern, die von Navigationseigenschaften in EF -Kern zurückgegeben werden?

Wie kann ich Daten filtern, die von Navigationseigenschaften in EF -Kern zurückgegeben werden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-31 02:56:12877Durchsuche

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

Filter inklusive

Durch Filterung können Sie den vom Navigationsattribut zurückgegebenen Datenbereich während der Abfrage reduzieren. Dies ist besonders nützlich, wenn Sie entsprechend den Attributen, die die Entität enthalten, filtern müssen.

Beispiel

Betrachten Sie den folgenden Code:

Dieser Code enthält alle Beiträge und Autoren jedes Blogs. Um das Ergebnis gemäß dem Namen des Autors zu filtern, können Sie verwenden, wo der Betrieb:
<code class="language-csharp">using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts)
            .ThenInclude(post => post.Author)
        .ToList();
}</code>

unterstützte Operationen
<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 unterstützt die folgenden Operationen für die Filterung ein:

wo

orderBy (absteigend)/thenby (Deshenging)
  • überspringen
  • nimm
  • Wichtige Erklärung
  • Jedes Navigationsattribut erlaubt nur einen Filter.
  • nachfolgende Filterung wird die Ergebnisse ansammelt.

Auch wenn die Verzögerungsbelastung aktiviert ist, wird die Filterung als Belastung betrachtet.

    Filterexpression muss ein "unabhängiges" Prädikat sein, das für die Filtersammlung unabhängig verwendet werden kann.
  • Filter umfassen und Abfragefilter
  • -Filter inklusive die Anzahl der von der Hauptanfrage zurückgegebenen Elemente. Verwenden Sie zum Filtern der wichtigsten Abfrageergebnisse einen separaten Where -Betrieb und beinhalten.
  • Projektion und Filterung enthalten
Projektion ignoriert normalerweise, unabhängig davon, ob sie gefiltert wurden. Wenn jedoch die Einheit in der Projektion einbezogen werden kann, wird einbezogen, da dies angewendet wird. (Hinweis: Im Originaltext ist die Beschreibung der Projektion und Filterung zu kurz, und die ergänzende Beschreibung ist hier klarer.)

Das obige ist der detaillierte Inhalt vonWie kann ich Daten filtern, die von Navigationseigenschaften in EF -Kern zurückgegeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn