var listair = empcon.OrderBy(x => x.CustomerConnection.OrderBy(y => y.Id)).ToList();
当我使用此语句时,我得到异常“至少有一个对象必须实现IComparable”
我该如何解决这个问题?
答案 0 :(得分:26)
当我写错了时,我的查询出现了这个问题:
IEnumerable<OrgRelation> relations = from r in tree.OrgRelations
orderby r.ParentUnit, r.ChildUnit
select r;
这是因为父和子单元都是与此OrgRelation实体相关的OrgUnit对象。我需要的是不是通过对象来命令,而是通过我真正想要排序的对象的属性来命令。当我添加“.Name”时,它起作用了。
IEnumerable<OrgRelation> relations = from r in tree.OrgRelations
orderby r.ParentUnit.Name, r.ChildUnit.Name
select r;
答案 1 :(得分:8)
为CustomerConnection和empcon包含的对象的类型实现IComparable。如果他们没有实施IComparable,则无法按顺序执行订单。