Freigeben über


Abfrage von Daten

Entity Framework Core verwendet Language-Integrated Query (LINQ) zum Abfragen von Daten aus der Datenbank. LINQ ermöglicht es Ihnen, C# (oder Ihre .NET-Sprache der Wahl) zu verwenden, um stark typierte Abfragen zu schreiben. Sie verwendet die abgeleiteten Kontext- und Entitätsklassen, um auf Datenbankobjekte zu verweisen. EF Core übergibt eine Darstellung der LINQ-Abfrage an den Datenbankanbieter. Datenbankanbieter übersetzen sie wiederum in datenbankspezifische Abfragesprache (z. B. SQL für eine relationale Datenbank). Abfragen werden immer für die Datenbank ausgeführt, auch wenn die im Ergebnis zurückgegebenen Entitäten bereits im Kontext vorhanden sind.

Tipp

Das in diesem Artikel verwendete Beispiel finden Sie auf GitHub.

Die folgenden Codeausschnitte zeigen ein paar Beispiele für das Erreichen allgemeiner Aufgaben mit Entity Framework Core.

Laden aller Daten

using (var context = new BloggingContext())
{
    var blogs = await context.Blogs.ToListAsync();
}

Laden einer einzelnen Entität

using (var context = new BloggingContext())
{
    var blog = await context.Blogs
        .SingleAsync(b => b.BlogId == 1);
}

Filterung

using (var context = new BloggingContext())
{
    var blogs = await context.Blogs
        .Where(b => b.Url.Contains("dotnet"))
        .ToListAsync();
}

Weitere Lektüre