Unterschied zwischen Select und SelectMany
Habe ich gesucht, die den Unterschied zwischen Select
und SelectMany
aber ich habe nicht in der Lage zu finden, eine passende Antwort. Ich muss lernen, den Unterschied bei der Verwendung von LINQ To SQL aber alle die ich gefunden habe, sind standard-array-Beispiele.
Kann jemand bieten eine LINQ To SQL-Beispiel?
InformationsquelleAutor der Frage Tarik | 2009-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
SelectMany
flacht Abfragen zurückgeben von Listen von Listen. Zum BeispielLive-Demo auf .NETTO-Fiddle
InformationsquelleAutor der Antwort Mike Two
Wählen viele wie cross join-operation in SQLwo es das Kreuz-Produkt.
Zum Beispiel, wenn wir
Wählen viele können verwendet werden, um den folgenden Satz
Beachten Sie, dass wir das hier nehmen alle möglichen Kombinationen aus den Elementen von set A und set B.
Hier ist eine LINQ-Beispiel können Sie versuchen,
die Mischung wird mit folgenden Elementen in flachen Struktur wie
InformationsquelleAutor der Antwort Sriwantha Attanayake
...
InformationsquelleAutor der Antwort AlejandroR
SelectMany()
können Sie collapse eine mehrdimensionale Sequenz in einer Weise, die sonst erfordern würde ein zweitesSelect()
oder Schleife.Mehr details zu diesem blog-post.
InformationsquelleAutor der Antwort Michael Petrotta
Gibt es mehrere überladungen zu
SelectMany
. Einer von Ihnen erlaubt Ihnen, zu halten Spur von jede Beziehung zwischen Elternteil und Kindern während der Traversierung der Hierarchie.Beispiel: angenommen, Sie haben die folgende Struktur:
League -> Teams -> Player
.Können Sie einfach wieder einen flachen Sammlung von Spielern. Jedoch können Sie verlieren jeden Bezug auf das team, der Spieler Teil.
Glücklicherweise gibt es eine überlastung, die für diesen Zweck:
Vorherigen Beispiel ist entnommen aus Dan die IK-blog. Ich empfehle Ihnen dringend einen Blick drauf werfen.
InformationsquelleAutor der Antwort
Verstehe ich SelectMany funktioniert wie eine join-Verknüpfung.
So können Sie:
InformationsquelleAutor der Antwort Nathan Koop
Wählen Sie eine einfache eins-zu-eins-Projektion von Quell-element zu einem Ergebnis-element. Wählen Sie-
Viele wird verwendet, wenn es mehrere from-Klauseln in der Abfrage-Ausdrucks: jedes element in der ursprünglichen Sequenz, die verwendet wird zum erzeugen einer neuen Sequenz.
InformationsquelleAutor der Antwort Alexandr
Einige SelectMany nicht notwendig sein. Unten 2 Abfragen das gleiche Ergebnis.
Für 1-zu-Viele-Beziehung,
InformationsquelleAutor der Antwort Rm558
Ohne zu technisch - Datenbank mit vielen Organisationen mit vielen Nutzern:-
beide zurück die gleichen ApplicationUser Liste für die ausgewählte Organisation.
Den ersten "Projekte" von der Organisation-Benutzer, der zweite fragt den Benutzer Tabelle direkt.
InformationsquelleAutor der Antwort RickL
Nur für eine Alternative Ansicht, die helfen können, einige funktionale Programmierer, die es gibt:
Select
istmap
SelectMany
istbind
(oderflatMap
für Ihre Scala/Kotlin Menschen)InformationsquelleAutor der Antwort Matt Klein
Es ist mehr klar, wenn die Abfrage eine Zeichenkette (array von char):
Zum Beispiel, wenn die Liste mit 'Früchte' enthält 'apple'
'Select' liefert den string:
'SelectMany' flacht die Zeichenfolge:
InformationsquelleAutor der Antwort Eric Bole-Feysot
Es ist der beste Weg, um zu verstehen, denke ich.
Einmaleins Beispiel.
InformationsquelleAutor der Antwort user5966157