私は3つのテーブルを持っています。2には、すべての一意のファイルを取得するために UNION を実行する必要があるファイルのリストが含まれています。次に、3番目のテーブルに対して左外部結合を実行して、3番目のテーブルのみにあり、他のテーブルには含まれていないすべてのファイルを検索します2.
UNION を実行するには、次のものが必要です。
var imageUnion = (from img in dc.ImageT1
select img.filename).Union(
from img in dc.ImageT2
select img.filename);
ここで、3 番目のテーブルでのみファイルを取得するには、次のように左外部結合を実行します。
var query = from image in dc.ImageT1
join active in dc.ActiveImages on image.filename equals
active.filename into gj
from subimage in gj.DefaultIfEmpty()
where subimage.filename == null
select new { image.filename, image.size };
1 つのテーブルに対して単純に左外部結合を実行する方法は理解していますが、最初のクエリの結果セットを左外部結合に取得するにはどうすればよいですか? 基本的に、ImagesT1 に対して左外部結合を実行する代わりに、imageUnion の結果に対して実行したいと考えています。
ありがとう!