consultas array c# linq-to-objects

array - list linq c#



Al menos un objeto debe implementar IComparable. (2)

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

Cuando estoy usando esta declaración, obtengo la excepción "Al menos un objeto debe implementar IComparable"

¿Como puedó resolver esté problema?


Implementar IComparable para los tipos de los objetos contenidos por CustomerConnection y empcon. Si no tienen implementado IComparable, no hay forma de realizar un pedido.


Tuve este problema con mi consulta cuando lo escribí mal:

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

Esto se debió a que las Unidades primarias y secundarias son ambos objetos de la Unidad de organización que están relacionados con esta entidad de Relación de organización. Lo que necesitaba era ordenar no por el objeto, sino por la propiedad del objeto que realmente quería ordenar. Cuando agregué el ".Nombre" funcionó.

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