Tengo una lista de identificadores almacenados correctamente en una lista <>. Ahora necesito Agrupar esta lista y obtener un recuento de la cantidad de incidentes ordenados descendiendo.LINQ: orden por recuento de elementos únicos en la lista <string>
Ejemplo:
List<string> aryIDs = new List<string>;
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("3214");
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("1234");
produciría:
"1234", 3
"4321", 2
"3214", 1
Esto sería fácil de TSQL, pero me gustaría evitar la ida y vuelta del servidor, tablas innecesarias, etc., si es posible.
Gracias de antemano.
Actualización: La conversión VB.NET la respuesta de Ralph Shillington a continuación:
Dim result = From id In aryIDs _
Group id By id Into Group _
Order By Group.Count() Descending _
Select id, Count = Group.Count()
result.Dump()
que mencionas T-SQL ... ¿Quiere decir, todos estos datos se encuentra en la base de datos? ¿Por qué no buscarlo ya agrupado y ordenado? ¿O estoy malentendiendo algo? –