次のクエリを使用していますが、結合を追加する方法がわかりません。
var chi = Lnq.attlnks.Where(a => a.ownerid == emSysid)
.Select(c => new { sysid });
これを「アタッチ」テーブルに結合し(ON attlnks.sysid = attach.sysid)
、sysid が行 ID である「名前」を選択するにはどうすればよいですか?
Linq での結合の場合、通常、クエリ式の形式はラムダ構文よりも読みやすいです。これがあなたが求めているものだと思います。
var chi = from t in Lnq.attach
join a in Lnq.attlnks
on t.sysid equals a.sysid
where a.ownerid == emSysid
select t.name;
一致するエントリが 1 つしかない場合はFirstOrDefault()
、この場合 (または、SingleOrDefault、Single、First などの他の選択肢)をチェーンできます。
var chi = (from t in Lnq.attach
join a in Lnq.attlnks
on t.sysid equals a.sysid
where a.ownerid == emSysid
select t.name).FirstOrDefault();
あなたの問題を理解していれば、これはうまくいくはずです:
var query = from a in attlinks
join aa in attach on a.sysid equals aa.sysid into a2
where a2.sysid == a2.ownerid
select a2.Name;