No sé si esto es posible en LINQ pero aquí va ...Usando LINQ al grupo una lista de objetos en una nueva lista agrupada de lista de objetos
que tienen un objeto:
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public int GroupID { get; set; }
}
me devuelven una lista que puede ser similar al siguiente:
List<User> userList = new List<User>();
userList.Add(new User { UserID = 1, UserName = "UserOne", GroupID = 1 });
userList.Add(new User { UserID = 2, UserName = "UserTwo", GroupID = 1 });
userList.Add(new User { UserID = 3, UserName = "UserThree", GroupID = 2 });
userList.Add(new User { UserID = 4, UserName = "UserFour", GroupID = 1 });
userList.Add(new User { UserID = 5, UserName = "UserFive", GroupID = 3 });
userList.Add(new User { UserID = 6, UserName = "UserSix", GroupID = 3 });
Quiero ser capaz de ejecutar una consulta LINQ en la lista anterior que agrupa a todos los usuarios de GroupID. Entonces, el resultado será una lista de listas de usuarios que contiene usuarios (si tiene sentido). Algo así como:
GroupedUserList
UserList
UserID = 1, UserName = "UserOne", GroupID = 1
UserID = 2, UserName = "UserTwo", GroupID = 1
UserID = 4, UserName = "UserFour", GroupID = 1
UserList
UserID = 3, UserName = "UserThree", GroupID = 2
UserList
UserID = 5, UserName = "UserFive", GroupID = 3
UserID = 6, UserName = "UserSix", GroupID = 3
He intentado usar la cláusula de LINQ GroupBy pero esto parece devolver una lista de claves y su no agrupados por correctamente:
var groupedCustomerList = userList.GroupBy(u => u.GroupID).ToList();
Cualquier ayuda sería muy apreciada.
Gracias
muy agradable, justo lo que necesitaba. gracias. haciendo esto de la manera imperativa apesta. – user1841243
¿Funciona bien? porque soy usado de esta manera no funcionó. objModel.tblDonars.GroupBy (t => new {t.CreatedOn.Year, t.CreatedOn.Month, t.CreatedOn.Day}). Seleccione (g => new {tblDonar = g.ToList()}). Listar(); esto no funciona ... ¿puedes ayudar ... –
Bueno, funciona bien. –