Как удалить указанное поле c из списка моделей - PullRequest
0 голосов
/ 23 апреля 2020

Структура класса

public class EmployeeViewModel
   {
       public List<EmployeeDetails > employeedetails { get; set; }
       public string age { get; set; }
   }
public class EmployeeDetails 
   {
       public string empid { get; set; }
       public string empname { get; set; }
   }

Список сведений о сотруднике

empid  empname  age
-----  ------- -----
1      Faizy   2 years
2      Jaan    5 years
3      Ajith   8 years

Я хочу удалить одно поле из объекта списка, например empid, как показано ниже:

empname  age
------- -----
Faizy   2 years
Jaan    5 years
Ajith   8 years

1 Ответ

0 голосов
/ 23 апреля 2020

LINQ никогда не изменит ваши источники. Он может только извлекать данные из источников. При желании вы можете использовать извлеченные данные для изменения ваших источников.

Таким образом, у вас есть один EmployeeViewModels, в котором есть список EmployeeDetails (который может быть нулевым!).

Вы хотите новый последовательность только с empName и возрастом каждого employeeDetail в списке EmployeeDetails. Если viewModel имеет нулевой EmployeeDetails, вам нужен пустой список.

EmployeeViewModel viewModel = ...
IEnumerable<EmployeeDetail> employeeDetails = viewModel.EmployeeDetails ??
    Enumerable.Empty<EmployeeDetail>();
var result = employeeDetails.Select(employeeDetail => new
{
     Name = employeeDetail.EmpName,
     Age = employeeDetail.EmpAge,
});
...