web-dev-qa-db-ja.com

ラムダを使用した複数の列でのlinqからsqlへの結合

誰かがこれを翻訳するのを手伝ってくれませんか

var query = from s in context.ShoppingMalls
join h in context.Houses
on
new { s.CouncilCode, s.PostCode }
equals
 new { h.CouncilCode, h.PostCode }
select s;

ラムダクエリに?

ありがとう。

25
spdro
var query = context.ShoppingMalls
                   .Join(
                       context.Houses,
                       s => new { s.CouncilCode, s.PostCode },
                       h => new { h.CouncilCode, h.PostCode },
                       (s, h) => s);
47
Thomas Levesque

@Thomas Levesqueの例と回答は一致する列で機能しますが、結合する列はあるが名前が異なる場合にも回答を提供したいと考えました。これがググリングに必要なものであり、この質問は私を親しくしました。

もちろん、違いは、識別するための変数としての列の明示的な宣言です。

var query = context.MapKitsToResources
              .Join(
                     context.Resources, 
                     o => new { Id = o.ResourceId, Type = o.ResourceTypeId},
                     i => new { Id = i.Id, Type = TypeId},
                     (o, i) = new { rType : i };
9
JoeCo