问题
var listair = empcon.OrderBy(x => x.CustomerConnection.OrderBy(y => y.Id)).ToList();
When I am using this statement then I am getting exception "At least one object must implement IComparable"
How can I solve this problem?
回答1:
I had this problem with my query when I wrote it wrong:
IEnumerable<OrgRelation> relations = from r in tree.OrgRelations
orderby r.ParentUnit, r.ChildUnit
select r;
This was because the Parent and Child Units are both OrgUnit objects the are related to this OrgRelation entity. What I needed was to order not by the object, but by the property of the object on which I really wanted to sort. When I added the ".Name" it worked.
IEnumerable<OrgRelation> relations = from r in tree.OrgRelations
orderby r.ParentUnit.Name, r.ChildUnit.Name
select r;
回答2:
Implement IComparable for the Types of the objects contained by CustomerConnection and empcon. If they don't have IComparable implemented then there is no way to perform an order by.
来源:https://stackoverflow.com/questions/6467272/at-least-one-object-must-implement-icomparable