Подтвердить что ты не робот

По крайней мере, один объект должен реализовать IComparable

var listair = empcon.OrderBy(x => x.CustomerConnection.OrderBy(y => y.Id)).ToList();

Когда я использую этот оператор, я получаю исключение "По крайней мере, один объект должен реализовать IComparable"

Как я могу решить эту проблему?

4b9b3361

Ответ 1

У меня возникла проблема с моим запросом, когда я написал это неправильно:

IEnumerable<OrgRelation> relations = from r in tree.OrgRelations
                                                 orderby r.ParentUnit, r.ChildUnit
                                                 select r;

Это связано с тем, что родительский и дочерний объекты являются объектами OrgUnit, которые связаны с этим объектом OrgRelation. То, что мне было нужно, - это заказать не объект, а свойство объекта, на котором я действительно хотел сортировать. Когда я добавил ".Name", он сработал.

IEnumerable<OrgRelation> relations = from r in tree.OrgRelations
                                                 orderby r.ParentUnit.Name, r.ChildUnit.Name
                                                 select r;

Ответ 2

Внедрить IComparable для типов объектов, содержащихся в CustomerConnection и empcon. Если у них нет IComparable, то нет способа выполнить заказ.