为Enumerable.GroupJoin使用其他条件/参数

时间:2018-03-20 15:25:04

标签: c# linq join iqueryable enumerable

我在MSDN查看了GroupJoin方法的文档,但是我没有看到如何在多个属性上创建连接。下面是我当前代码的示例。

  var test = _MasterData.LinqCustomerGroup.GroupJoin(_MasterData.LinqDisposallistDisposalArticles,
                                                           c => c.Guid,
                                                           d => d.CustomerGroup,
                                                           (c, ds) => new { c, ds = ds })                                                    
                                                .SelectMany(z => z.ds.DefaultIfEmpty(), (c, d) => new { CustomerGroupID = c.c.CustomerGroupID, Description = c.c.Description, Disposallist = d.Disposallist }));

我想在其他参数上执行连接。里面的d是一个名为Article的属性。我希望函数只加入具有Article ==“value”的元素。

1 个答案:

答案 0 :(得分:1)

听起来您不想“加入其他条件”,但要过滤 LinqDisposallistDisposalArticles中与Article不同的所有元素{ {1}}。

如果这是正确的,只需在加入前对该序列使用"value"

Where