Laden...

SQL Abfragen mit EF Core

Erstellt von ProgrammierNoob vor 2 Jahren Letzter Beitrag vor 2 Jahren 439 Views
P
ProgrammierNoob Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren
SQL Abfragen mit EF Core

Verwendetes Datenbanksystem: <SQL Server>

Hallo Leute,

ich schaue mir gerade das Entity Framework an.
Es soll ein Projekt darauf umgestellt werden.

Nur sind in diesem Projekt leider sehr großen und auch umfangreiche SQL Abfragen verbaut.
Mit diversen SupSelects, verschachtelte Joins u.s.w.

Wie sollte man da ran gehen?

Vielleicht habt ihr ein paar Denkanstösse, danke schon mal.

16.834 Beiträge seit 2008
vor 2 Jahren

"Sehr groß" und "sehr komplex" ist alles relativ.
Was für dich sehr groß sein kann, ist für jemand anderes Mini - weil er noch größere Abfragen hat.

Generell gibts viele Best Practises zu EF Core abfragen.
Schau Dir einfach mal verschiedene Tutorials an, zB vom EF PM Jeremy Likness.
Letzten Endes ist das A und O für jeder Art von Abfragen mit Linq das Verständnis von Expressions sehr wichtig.
Je komplexer, desto wichtiger.

EF bzw. EF Core ist aber ingesamt durchaus komplex und Du kannst an vielen Stellen Performance verlieren oder Probleme schaffen.
Du wirst einige Zeit brauchen (und viel lesen müssen), bis Du EF beherrschst; mit "kurz anschauen" wirds nur für die Grundlagen reichen.

P
ProgrammierNoob Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Hallo,
hatte viel um die Ohren, daher kann ich erst jetzt Antworten.

Ja ich schaue mir die Sachen gerade an.

Gruß
ProgrammierNoob

16.834 Beiträge seit 2008
vor 2 Jahren

Du hast zwar den SQL Code wieder gelöscht, aber hatte ihn davor noch gesehen.
Sowohl die .NET wie auch die SQL Community dürfte bei dem SQL Code den Konsenz haben, dass es alles andere als eine komplexe Abfrage war.

Das waren ja "nur" ein Select mit 3 Sub-Selects und Basis-SQL Befehle; in Umfang und Inhalt also nicht wirklich komplex.
Wäre also problemlos mit den Basis-Linq Funktionalitäten umsetzbar. (Ich hab daher auch das Komplex aus dem Titel entfernt, weil es das wirklich nicht ist.

Auf den auch gelöschten Zusatz, dass Du Stored Procs verwenden kannst:
Klar, Du kannst die Logik auch komplett in die Datenbank verlagern; hat halt enorm viele Nachteile, wenn Du eh schon ein ORM hast.
Davon abgesehen sind Stored Procs primär Funktionen, keine Abfragen; verwendet man also dann, wenn man ohne Roundtrip zum Client etwas ausführen will.

Für Abfragen verwendet man primär Views, die aber 0 % Performance-Vorteile zu ORM-Selects haben.
Views sind nur dann schneller, wenn man sie indiziert.