Ich weiß nicht, ob dies möglich in Linq ist aber hier geht ...Mit Linq eine Liste von Objekten in eine neue gruppierte Liste der Liste der Objekte zu gruppieren
Ich habe ein Objekt:
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public int GroupID { get; set; }
}
ich eine Liste, die wie folgt aussehen:
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 });
ich in der Lage sein wollen, eine Linq-Abfrage auf der obigen Liste, die Gruppen alle Benutzer von GroupID zu laufen. Die Ausgabe wird also eine Liste von Benutzerlisten sein, die Benutzer enthalten (wenn das sinnvoll ist?). Etwas wie:
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
Ich habe versucht, die groupby Linq-Klausel aber dies scheint eine Liste von Schlüsseln zurückzukehren und seine nicht richtig gruppiert:
var groupedCustomerList = userList.GroupBy(u => u.GroupID).ToList();
Jede Hilfe wäre sehr willkommen.
Dank
sehr schön, genau das, was ich brauchte. Danke. dies zu tun, ist der zwingende Weg saugt. – user1841243
Funktioniert es gut? weil ich gebraucht werde, funktionierte das nicht. objModel.tblDonars.GroupBy (t => neu {t.CreatedOn.Year, t.CreatedOn.Month, t.CreatedOn.Day}) Wählen Sie (g => new {tblDonar = g.ToList()}). Auflisten(); das funktioniert nicht ... kannst du helfen .... –
Schön es funktioniert gut. –