DDC hakt nach: Was sind die coolen Feature von EF Core 10?

Unter .NET läuft der Zugriff auf eine Datenbank in der Regel über den OR-Mapper Entity Framework Core oder kurz EF Core. Im November, just zu der Zeit, zu der auch die .NET Developer Conference 2025 (DDC) stattfindet, erscheint dessen Version 10. EF-Core-Experte Christian Giesswein bewertet im Interview die Neuerungen, gibt aber auch Tipps, wie man Performance Bottlenecks vermeidet. Auf der DDC hält er einen Workshop zum Einsatz der neuen Version.
Bei welchen Neuerungen in EF Core 10 denkst Du: "Endlich!" und wo eher: "Nett, aber brauche ich nicht"?
Christian: Also EF Core 10 hat ja einige nette Sachen drin, aber zwei Dinge sind für mich echt so „ENDLICH!“ Das eine sind Named Query Filters. Die sind einfach mega praktisch, weil Du jetzt Abfragen mit einem Namen versiehst und die dann gezielt an- oder ausschalten kannst. Gerade bei Mandanten-Trennung oder Soft-Delete muss ich dann nicht mehr mit irgendwelchen wilden Konstrukten herumfrickeln. Das ist sauberer und man kann’s auch mal jemandem erklären, ohne dass der gleich abschaltet.
Das andere ist der native Support für Left/Right Joins. Der hat schon lange gefehlt. Vorher musste man sich mit komischen LINQ-Tricks helfen oder zig Zwischenschritte machen, nur um eigentlich einen simplen Join zu bekommen. Jetzt ist’s halt drin, Punkt.
Alles andere in EF Core 10 ist nett. Es gibt coole Detailverbesserungen, aber das sind so Sachen, die ich jetzt nicht jeden Tag brauche. Die beiden genannten Punkte oben sind aber schon auf das-ändert-den-Alltag-Level.
Migrationen in echten Teams: Was ist Dein Geheimrezept, damit sich Teams nicht gegenseitig die Migration-Hölle bereiten?
Christian: Das Thema Migrationen in Teams ist ein Dauerbrenner. Jeder ändert was am Modell, checkt seine Migration ein und dem Nächsten fliegt dann alles um die Ohren. Früher war das so’n bisschen Wild West.
Aber: Seit .NET 9 hat EF Core endlich diesen Database Lock beim Anwenden von Migrationen. Bedeutet: EF Core holt sich vor dem Ausführen einen exklusiven Lock direkt in der Datenbank. Und so lange der Lock da ist, kommt kein anderer Prozess dazwischen. Das ist Gold wert, weil dadurch Migrationen atomar angewendet werden. Keine halben Tabellen, keine schiefen Schemata – einfach sauber durchlaufen lassen.
Mein Rezept ist da eigentlich simpel: Entwickler müssen verstehen, wie Migrationen intern arbeiten – sonst bringt Euch der schönste Lock nichts.
Wenn Du das so machst, können auch größere Teams ganz entspannt und ohne Drama Datenbanken sauber aktualisieren.
Welche Performance-Falle siehst Du am häufigsten bei Projekten und gibt es einen simplen Trick, den 90 Prozent der Entwickler übersehen?
Christian: EF Core ist eigentlich schon sauschnell – out of the box. Aber: Man kann es auch ungewollt langsamer machen – und das passiert öfter als man denkt.
Der Klassiker: Das 1+N-Problem. Sieht im Code harmlos aus – Du gehst mit einer Schleife über irgendwas drüber und greifst nebenbei auf eine Navigation Property zu. EF Core denkt sich dann „ja klar, mach ich“ und haut für jedes Element eine eigene SQL-Query raus. Zack, 50 Queries statt einer.
Mein Tipp ist da ganz pragmatisch:
- Ab und zu einfach mal ToQueryString() auf eine Query machen und schauen, was wirklich herauskommt. Das öffnet oft die Augen.
- Bei Bedarf lieber gezielt Include() oder einen Select() auf ein Data Transfer Object machen, statt alles lazy zu holen.
- Und große LINQ-Ketten lieber direkt als eine saubere Abfrage schreiben, statt sie über zig Schritte aufzubauen.
Wenn man das im Blick behält, vermeidet man halt 90 Prozent der Performanceprobleme, bevor sie überhaupt jemand bemerkt.
Die .NET Developer Conference 2025 findet vom 24. bis 27. November 2025 in Köln statt. Hier erfährst Du alles zu rund um Microsoft .NET. Christians Workshop mit dem Thema "EF Core 10 – Das Datenmodell im Griff" findet wie alle Workshops am Montag, dem 24. November 2025, ab 9.00 Uhr statt.