SQL-Befehle mit Entity Framework Core 16.10.2017, 00:00 Uhr

Direttamente zur Datenbank

LINQ und das API von Entity Framework Core genügen nicht? Dann helfen direkte SQL-Befehle.
LINQ (Language Integrated Query) und das Entity-Framework-Core-API mit seinen Add()-, Remove()- und SaveChanges()-Methoden etc. sind eine Abstraktion von SQL. Entity Framework (EF) Core – oder der jeweilige Datenbank-Provider – wandelt LINQ und API-Aufrufe letztlich in SQL um. Die Abstraktion, die Entity Framework Core hier bietet, eignet sich in vielen Fällen gut, um effiziente, robuste und systemneutrale Befehle zur Datenbank zu senden. Aber LINQ und das API können nicht alles, was SQL kann, und nicht alles, was Entity Framework Core zur Datenbank sendet, kommt dem Laufzeitverhalten entgegen.
Listing 1: Typische SQL-Abfrage in Entity Framework Core
public static void Demo_SQLDirekt1()

{

  CUI.MainHeadline("SQLDirekt1");

  string ort = "Berlin";

  using (var ctx = new WWWingsContext())

  {

    ctx.Log();

    IQueryable<Flug> flugliste = ctx.FlugSet.FromSql("Select * from Flug where Abflugort='" + ort + "'");

    Console.WriteLine(flugliste.Count());

    foreach (var flug in flugliste)

    {

      Console.WriteLine(flug);

    }

    Console.WriteLine(flugliste.Count());

  }

}

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar