myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Entity Framework Core Abfrage sortieren
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Entity Framework Core Abfrage sortieren

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
mchrd mchrd ist männlich
myCSharp.de-Mitglied

avatar-229.gif


Dabei seit: 27.10.2018
Beiträge: 17
Entwicklungsumgebung: Visual Studio 2017, VS Code


mchrd ist offline

Entity Framework Core Abfrage sortieren

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

ich würde gerne eine Abfrage (m zu n Beziehung) mittels Entity Framework Core tätigen und das Ergebnis gerne nach einer Entität sortieren lassen welche ich mittels Include einbeziehe.

Im Bild seht ihr eine Beispielhafte Beziehung.

Mittels

C#-Code:
var erg = _db.Gebäude.Include(x => x.GebäudeHatRäume).ThenInclude(x => x.Raum).ToList()

könnte ich jetzt eine Abfrage erstellen. Allerdings möchte ich, dass die Liste nach den Namen der Räume sortiert wird.

Wenn ich das .OrderBy(x => x....) verwende kann ich nur nach der ID oder dem Namen der Gebäude sortieren lassen.

Über Tipps wäre ich dankbar.

mchrd hat dieses Bild (verkleinerte Version) angehängt:
beispiel.png
Volle Bildgröße

11.09.2019 12:05 Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.197
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

GebäudeHatRäume ist im Model eine Liste, oder?
Wie willst Du anhand eines Items von einer Liste sortieren? Du musst dir also ein Item suchen, das Du dann zum Sortieren nutzen möchtest, z.B. indem Du das erste Item aus der Liste nutzt.
Probier da Mal herum und schau, was EFCore noch alles übersetzen kann.

Aber achtung: Kann EFCore deinen Code nicht nach SQL übersetzen, erfärst Du das nur als Warnung im Log, sofern vorhanden.
Das kannst Du aber umstellen, wenn Du die DbContextOptions erstellst:

C#-Code:
var options = new DbContextOptionsBuilder<YourDbContext>() // Muss nicht zwingend generisch sein
    .ConfigureWarnings(warnings =>
    {
        warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));
    }
    .Options;

Dann kriegst Du eine Exception anstatt eines Log-Eintrags.
Ich persönlich würde das so lange wie möglich drin lassen, damit man möglichst viele solcher Situationen findet. Für den produktiven Betrieb (release-Build oder per Config einstellbar) kann man das dann ja wieder heraus nehmen, es könnte zwar die Performance verschlechtern, aber der Nutzer diese unverständlichen Fehler nicht mehr.
11.09.2019 17:39 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.09.2019 18:47