ThenBy ChildrenCollection названия LINQ OrderBy. Имя

$("#mycheckbox")[0].checked = true;
$("#mycheckbox").attr('checked', true);
$("#mycheckbox").click();

последний уволит событие щелчка за флажок, другие не будут. Таким образом, если у Вас есть пользовательский код в onclick событии для флажка, что Вы хотите запустить, использовать последний.

8
задан TehOne 20 August 2009 в 07:37
поделиться

2 ответа

Похоже, вы пытаетесь получить список всех отделов, упорядоченных по группе, а затем по названию отдела. Если да, то вы, вероятно, захотите сделать что-то вроде этого:

var res = from c in _repository.GetActiveDepartmentGroupsWithDepartments()
          from d in c.Departments
          orderby c.DepartmentGroupName, d.DepartmentName
          select d;

Или в синтаксисе метода:

var res = _repository.GetActiveDepartmentGroupsWithDepartments()
                     .SelectMany(c => c.Departments, (c,d) => new { c, d })
                     .OrderBy(x => x.c.DepartmentGroupName)
                     .ThenBy(x => x.d.DepartmentName)
                     .Select(x => x.d);
17
ответ дан 5 December 2019 в 08:54
поделиться

Поскольку Deparment - это коллекция, вы должны преобразовать ее в скаляр, чтобы использовать ее для сортировки.

Один из вариантов - выбрать отдельную сущность в коллекции, например, имя первого отдела:

_repository.GetActiveDepartmentGroupsWithDepartments()
   .OrderBy(c => c.DepartmentGroupName)
   .ThenBy(c => c.Departments
       .OrderBy(d => d.DepartmentName)
       .FirstOrDefault()
       .DepartmentName
    )

Другой вариант - упорядочить по свойству самой коллекции, например, количеству отделов:

_repository.GetActiveDepartmentGroupsWithDepartments()
   .OrderBy(c => c.DepartmentGroupName)
   .ThenBy(c => c.Departments.Count())
2
ответ дан 5 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: