У меня есть список навыков на моей странице регистрации, например:

игры, танцы, программирование и т. д. .

 public partial class EmployeeMaster
 {
    public int Id { get; set; }
    public string Fullname { get; set; }
    public string Skills { get; set; }
 }

Теперь в моем методе публикации я получаю такие навыки:

Этот навык представляет собой объект списка: объект listSkill:

[0]:Name=Playing
   Selected=true

[1]:Name=Dancing
   Selected=true

[2]:Name=Programming
   Selected=false

[HttpPost]
    public ActionResult Index(EmployeeModel m)
    {
        if (ModelState.IsValid)
        {
            var employeeModel = new EmployeeMaster();
            employeeModel.Skills = m.Skills.Select(t => t.Name).SingleOrDefault();  //How to do this as this would take only single value not all skills?

Я хочу объединить все эти навыки в одну строку, разделенную запятыми, и сохранить в своей таблице базы данных.

1
CodeScanner 23 Фев 2015 в 15:06

2 ответа

Лучший ответ

Просто используя string.Join с желаемым свойством Skills (в данном случае Name):

employeeModel.Skills = string.Join(", ", m.Skills.Select(t => t.Name));

Это объединит все названия ваших навыков с помощью разделителя ", ".

3
Yuval Itzchakov 23 Фев 2015 в 12:11
employeeModel.Skills = string.Join(",", m.Skills.Select(t => t.Name).Distinct().ToList()); 

Мое предложение использовать это очень полезно для вас.

1
Shahzad Khan 23 Фев 2015 в 14:07