Linq to SQL 使用 Lambda 在多个列上联接

本文关键字:to SQL 使用 Lambda Linq | 更新日期: 2023-09-27 18:32:23

有人可以帮我翻译这个吗

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 查询?

谢谢。

Linq to SQL 使用 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 };