High Performance Entity Framework Core 7 – direkt aus der Praxis
Mit dem Entity Framework hat Microsoft vor Jahren einen Objekt-Relationalen-Mapper geschaffen, welcher sich in der .NET-Welt mittlerweile einer großen Beliebtheit erfreut. Der O/R-Mapper ermöglicht es, ohne SQL-Kenntnisse auf eine Datenbank sowohl lesend als auch schreibend zuzugreifen. Doch hier verbergen sich Risiken, denn ein O/R-Mapper erweckt den Eindruck, dass der Anwendungsentwickler sich nie wieder mit SQL zu befassen braucht - was für 80% der Abfragen in einer Anwendung auch stimmen mag. Die restlichen 20% können allerdings die gesamte Applikation durch sehr schlechte Antwortzeiten beinah unbenutzbar machen. Die unperformanten SQL-Abfragen sind jedoch nicht die einzige Quelle welche die Benutzbarkeit in Mitleidenschaft ziehen. Es spielt auch eine Rolle wie genau Entity Framework im Code verwendet wird. Nicht selten wird die Tatsache vergessen, dass die LINQ-Abfragen am Ende nicht im Arbeitsspeicher, sondern durch die Datenbank ausgeführt werden – mehr oder weniger „transparent“.
Im ersten Teil des Vortrags wird gezeigt, auf was geachtet werden sollte, um die häufigsten Stolperfallen bei der Verwendung von Entity Framework Core zu vermeiden. Im zweiten Teil geht es darum, die generierten SQL-Abfragen zu verstehen, denn nur so kann das Problem erkannt und gelöst werden. Das wichtigste Mittel hierfür werden die Anfragestatistiken und Ausführungspläne sein.
Event
Slidedeck
Weitere Artikel zu .NET, Entity Framework, Performance
Data Access in .NET Native AOT with Sessions
Native AOT with ASP.NET Core – Overview
Incremental Roslyn Source Generators: High-Level API – ForAttributeWithMetadataName – Part 8
Integrating AI Power into Your .NET Applications with the Semantic Kernel Toolkit – an Early View
.NET 7 Performance: Regular Expressions – Part 2
In this second article of our short performance series, we want to look at the latter one of those problems.