このSQLクエリをLinqクエリに変換するには?
select *
from setupUOMs as su
LEFT OUTER JOIN scmSKUUoMs as ssu
on su.UoMID != ssu.UoMID
where ssu.SKUID = 446 and su.UMTypeID = 5
以下はlinqクエリです。
from c in setupUOMs
join o in scmSKUUoMs
on c.UOMID equals o.UoMID into sr
from x in sr.DefaultIfEmpty()
where x.SKUID == 446
select x
上記のクエリでは、これまで結合番号を抽出することしかできませんでしたが、左側のテーブルの等しくないレコードを選択したいのですが、結合されたレコードを表示することができます。結果は両方の列に基づいていますが、左のテーブルのみのレコードを返します。where 句では、左側のテーブルの x.SKUID にアクセスできますが、右側のテーブルの x.UMTypesID にアクセスできません (条件を作成できる右側のテーブルの列が返されないことを意味します)。