linq zu SQL: Verständnis Select
und SelectMany
linq (Language Integrated Query) vereinfacht die Abfrage verschiedener Datenquellen, einschließlich SQL -Datenbanken unter Verwendung einer vertrauten Programmiersprache -Syntax. Zwei wichtige LINQ -Methoden, Select
und SelectMany
bieten unterschiedliche Funktionen.
Select
erklärt
Select
verwandelt jedes Element einer Quellsequenz in eine neue Form, wodurch eine neue Sequenz erstellt wird, während die ursprüngliche Elementreihenfolge beibehalten wird. In SQL -Begriffen spiegelt Select
die SELECT
-Klausel wider.
SelectMany
erklärt
SelectMany
funktioniert mit Sequenzen, die Sammlungen enthalten (verschachtelte Sequenzen). Es flacht diese verschachtelte Struktur ab und projiziert jedes Element aus den inneren Sammlungen in eine einzelne einheitliche Sequenz. Dies ist analog zu einem SQL CROSS JOIN
.
Illustratives Beispiel
Vergleichen wir Select
und SelectMany
mit einem linq mit SQL -Szenario:
<code class="language-csharp">public class Person { public int Id { get; set; } public string Name { get; set; } public List<Address> Addresses { get; set; } } public class Address { public int AddressId { get; set; } public string StreetAddress { get; set; } public string City { get; set; } } // Using Select var personNames = db.Persons.Select(p => p.Name); // Using SelectMany var personAddresses = db.Persons.SelectMany(p => p.Addresses);</code>
Select
ergibt eine Abfolge von Personennamen (Zeichenfolgen). SelectMany
erzeugt jedoch eine abgeflachte Sequenz aller Address
Objekte aller Personen, wodurch die verschachtelte Struktur eliminiert wird.
Das obige ist der detaillierte Inhalt vonWählen Sie vs. selectMany in linq zu SQL: Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!