簡體   English   中英

linq to sql使用lambda連接多個列

[英]linq to sql join on multiple columns using lambda

有人可以幫我解釋一下

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;

進入lambda查詢?

謝謝。

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

盡管@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 };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM