Select
およびSelectMany
LINQのSelect
とSelectMany
メソッドの選択は、特にLINQを使用してSQLで作業する場合は難しい場合があります。 多くの場合、単純な配列の例は、データベースの影響を完全にはキャプチャしないことがよくあります。
Select
クエリが関連するエンティティから単一の値を抽出する必要があるときに使用します。たとえば、Select
<code class="language-csharp">IEnumerable<Person> people = new List<Person>(); var phoneNumbers = people.Select(p => p.PhoneNumber);</code>
オブジェクトのリストを撮影し、Person
プロパティのみを含むリストを返します。
PhoneNumber
SelectMany
SelectMany
<code class="language-csharp">var phoneNumbers = people.SelectMany(p => p.PhoneNumbers);</code>
すべての人のすべての電話番号を単一のリストに組み合わせます。 これは、すべての電話番号の単一の統一リストが必要な場合に便利です。
親と子のデータを組み合わせるPhoneNumbers
SelectMany
これにより、その人の名前(SelectMany
)と電話番号(
<code class="language-csharp">var directory = people .SelectMany(p => p.PhoneNumbers, (parent, child) => new { parent.Name, child.Number });</code>
parent.Name
child.Number
および
以上がlinqのSelect vs.SelectmanyでSQLクエリで使用するのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。