0

次のクエリを使用していますが、結合を追加する方法がわかりません。

var chi = Lnq.attlnks.Where(a => a.ownerid == emSysid)
                     .Select(c => new { sysid });

これを「アタッチ」テーブルに結合し(ON attlnks.sysid = attach.sysid)、sysid が行 ID である「名前」を選択するにはどうすればよいですか?

4

2 に答える 2

2

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();
于 2012-04-22T04:03:50.923 に答える
0

あなたの問題を理解していれば、これはうまくいくはずです:

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;
于 2012-04-22T04:08:45.270 に答える