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

我有以下仅与 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();


慕盖茨4494581
浏览 90回答 2
2回答

慕婉清6462132

通过匿名类型使用复合连接条件: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();

Cats萌萌

如果您更喜欢 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();
打开App,查看更多内容
随时随地看视频慕课网APP