C# : 高度な LINQ - サブクエリと左外部結合を使用する
1882 ワード
LINQ は、任意のデータ ソースのクエリを作成するための優れたツールですが、実行したいものを実行するための正しいコードを作成する方法がわからないことがあります.
遅かれ早かれこれを忘れてしまうと確信しているので、私は自分のためにこのブログを書いています:)
左外部結合
遅かれ早かれこれを忘れてしまうと確信しているので、私は自分のためにこのブログを書いています:)
左外部結合
Perform left outer joins では、LINQ で左外部結合を記述する方法について詳しく説明しています.
ポイントは、into
と DefaultIfEmpty()
メソッドを使用することです.
var query = from person in people
join pet in pets on person equals pet.Owner into gj
from subpet in gj.DefaultIfEmpty()
select new
{
person.FirstName,
PetName = subpet?.Name ?? String.Empty
};
サブクエリ
サブクエリはより簡単です. new
セクションと in
セクションの両方でサブクエリを使用できます.クエリが長くなる場合は、サブクエリを別のクエリとして定義し、それをメイン クエリで使用することもできます.
Reference
この問題について(C# : 高度な LINQ - サブクエリと左外部結合を使用する), 我々は、より多くの情報をここで見つけました
https://dev.to/kenakamu/c-advanced-linq-use-subquery-and-left-outer-join-383h
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
var query = from person in people
join pet in pets on person equals pet.Owner into gj
from subpet in gj.DefaultIfEmpty()
select new
{
person.FirstName,
PetName = subpet?.Name ?? String.Empty
};
サブクエリはより簡単です.
new
セクションと in
セクションの両方でサブクエリを使用できます.クエリが長くなる場合は、サブクエリを別のクエリとして定義し、それをメイン クエリで使用することもできます.Reference
この問題について(C# : 高度な LINQ - サブクエリと左外部結合を使用する), 我々は、より多くの情報をここで見つけました https://dev.to/kenakamu/c-advanced-linq-use-subquery-and-left-outer-join-383hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol