Heim > Backend-Entwicklung > C++ > Wählen Sie vs. selectMany in linq zu SQL: Wann sollte ich welche verwenden?

Wählen Sie vs. selectMany in linq zu SQL: Wann sollte ich welche verwenden?

Barbara Streisand
Freigeben: 2025-01-28 17:41:12
Original
987 Leute haben es durchsucht

Select vs. SelectMany in LINQ to SQL: When Should I Use Which?

Die Unterschiede und Anwendungsszenarien von SelectMany in LINQ zu SQL

Bei LINQ zu SQL ist es wichtig, den Unterschied zwischen

und

zu verstehen. Select Es wird verwendet, um ein einzelnes Element aus dem Datensatz abzurufen, und SelectMany Die Abfrageergebnisse, mit denen die verschachtelte Menge abgeflacht werden. Select SelectMany Die folgenden Beispiele erklären die Unterschiede zwischen den beiden deutlicher:

unter der Annahme, dass wir eine

-Klasse haben, die ein

-Matchtribut enthält, das einen Satz einer Person -Instanz zurückgibt. Um alle Telefonnummern aller Mitarbeiter abzurufen, können wir PhoneNumbers: PhoneNumber verwenden Select

enthält jedoch die Sammlung jeder Telefonnummer -Liste, die möglicherweise nicht das gewünschte Ergebnis ist. Um diese verschachtelten Daten zu verflachen und eine vollständige Telefonnummer -Liste zu erhalten, verwenden wir
<code class="language-csharp">IEnumerable<Person> people = new List<Person>();

// Select: 返回一个电话号码列表的列表
IEnumerable<IEnumerable<PhoneNumber>> phoneLists = people.Select(p => p.PhoneNumbers);</code>
Nach dem Login kopieren
:

phoneLists SelectMany Außerdem können wir die Daten des Vaters

in das Ergebnis einbeziehen, können wir die
<code class="language-csharp">// SelectMany: 将集合扁平化为一个电话号码列表
IEnumerable<PhoneNumber> phoneNumbers = people.SelectMany(p => p.PhoneNumbers);</code>
Nach dem Login kopieren
schwere Last verwenden:

Person SelectMany Durch das Verständnis des Unterschieds zwischen und

können Sie die Daten in der LINQ -Abfrage effektiv bedienen, um die erforderlichen Informationen genau abzurufen und zu aggregieren.
<code class="language-csharp">// 带结果选择器的 SelectMany: 在结果中包含父数据
var directory = people
    .SelectMany(p => p.PhoneNumbers,
                (parent, child) => new { parent.Name, child.Number });</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWählen Sie vs. selectMany in linq zu SQL: Wann sollte ich welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage