C# c如何使用Linq基于其他模型更新模型
我有以下型号linq select: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(),
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。这是一个微小的变化。结果是由其他模型产生的。让我更新一下