为了账号安全,请及时绑定邮箱和手机立即绑定

将多个列与 lambda 表达式相关联

将多个列与 lambda 表达式相关联

C#
慕盖茨4494581 2022-12-04 10:43:51
我有以下仅与 ProcessId 相关的查询。我需要知道如何通过 ProcessId 和 GroupId 关联列表进程和 pendingProcess。感恩。        return process.Join(            pendingProcess,            p => p.ProcessId,            pp => pp.ProcessId,            (p, pp) => new Process            {                ProcessId = p.ProcessId,                GroupId = p.GroupId,                Text = p.Text,            }        ).ToList();
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

通过匿名类型使用复合连接条件:


return process.Join(pendingProcess,

    p => new { p.ProcessId, p.GroupId }

    pp => new { ProcessId = (int)pp.ProcessId, pp.GroupId }

    (p, pp) => new Process

    {

        ProcessId = p.ProcessId,

        GroupId = p.GroupId,

        Text = p.Text,

    }).ToList();


查看完整回答
反对 回复 2022-12-04
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

如果您更喜欢 lambda 表达式;


return process

    .Where(p => pendingProcess.Any(pp=> pp.GroupId == p.GroupId && pp.Precessid == p.PreocessId))

    .Select(p=> new Process

            {

                ProcessId = p.ProcessId,

                GroupId = p.GroupId,

                Text = p.Text,

            }).ToList();


查看完整回答
反对 回复 2022-12-04
  • 2 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信