C# c如何使用Linq基于其他模型更新模型

C# c如何使用Linq基于其他模型更新模型,c#,linq,C#,Linq,我有以下型号linq select: List<EmployeeProfile> employee = DL.GetEmployeeProfile(id); var result = employee.Select(a => new[] { a.EmployeeName, a.EmployeeId.Tostring(), a.View.ToString(),

我有以下型号linq select:

List<EmployeeProfile> employee = DL.GetEmployeeProfile(id);

        var result = employee.Select(a => new[]
        {
            a.EmployeeName,
            a.EmployeeId.Tostring(),
            a.View.ToString(),
            a.Edit.ToString(),
            a.Block.ToString()
        }).ToList();
我从json中填写了大约50条记录,因此我有:

List<EmployeeSelection> employeeSelect = JsonConvert.DeserializeObject<List<EmployeeSelection>>(selection);
我需要的是更新结果列表覆盖视图,编辑或阻止employeeSelect列表中的值以匹配employeeId

有线索吗


尝试精简linq查询:

var newResult= from empl in result
         join sel in employeeSelect
         on empl.EmployeeId equals sel.employeeId.ToString()
                    select new EmployeeProfile {
                         EmployeeId = empl.EmployeeId,
                         EmployeeName = empl.EmployeeName,
                         Edit = sel.edit.ToString(),
                         Block = sel.block.ToString(),
                         View = sel.view.ToString()
                     };

尝试精简linq查询:

var newResult= from empl in result
         join sel in employeeSelect
         on empl.EmployeeId equals sel.employeeId.ToString()
                    select new EmployeeProfile {
                         EmployeeId = empl.EmployeeId,
                         EmployeeName = empl.EmployeeName,
                         Edit = sel.edit.ToString(),
                         Block = sel.block.ToString(),
                         View = sel.view.ToString()
                     };

您可以将这两个列表合并在一起,只使用employee selection对象来填写新的详细信息

var employeeProfiles = DL.GetEmployeeProfile(id);

var employeeSelect = JsonConvert.DeserializeObject<List<EmployeeSelection>>(selection);

var result = employeeProfiles.Join(employeeSelect,
    profile => profile.EmployeeId,
    selection => selection.employeeId,
    (x, y) => new EmployeeProfile
    {
        EmployeeId = x.EmployeeId,  
        Block = y.block,
        Edit = y.edit,
        EmployeeName = x.EmployeeName,
        View = y.view
    });

您可以将这两个列表合并在一起,只使用employee selection对象来填写新的详细信息

var employeeProfiles = DL.GetEmployeeProfile(id);

var employeeSelect = JsonConvert.DeserializeObject<List<EmployeeSelection>>(selection);

var result = employeeProfiles.Join(employeeSelect,
    profile => profile.EmployeeId,
    selection => selection.employeeId,
    (x, y) => new EmployeeProfile
    {
        EmployeeId = x.EmployeeId,  
        Block = y.block,
        Edit = y.edit,
        EmployeeName = x.EmployeeName,
        View = y.view
    });

开始将生成结果作为IEnumerable。这是一个微小的变化。结果是由其他模型产生的。让我将开始构建结果更新为IEnumerable。这是一个微小的变化。结果是由其他模型产生的。让我更新一下