LINQ如何在组合对象属性的同时投影列表

时间:2015-09-02 09:15:28

标签: asp.net-mvc linq asp.net-mvc-4

我是LINQ的新手我遇到了一个问题。如何从结合对象的两个属性的linq查询创建List<SelectListItem>。例如,创建一个SelectListItem employees列表,但每个选择列表项应该有Text = Emp ID + Name - "123 - Jack"

1 个答案:

答案 0 :(得分:3)

List<SelectListItem> result = employees 
    .Select(x => new SelectListItem
    { 
        Text = String.Format("{0} - {1}", x.EmpID, x.Name),
        Value = x.EmpID.ToString()
    })
    .ToList()

根据需要删除重复项:

List<SelectListItem> result = employees 
    .Select(x => new { x.EmpID,  x.Name })
    .Distinct()
    .Select(x => new SelectListItem
    { 
        Text = String.Format("{0} - {1}", x.EmpID, x.Name),
        Value = x.EmpID.ToString()
    })
    .ToList()