nie wiem czy jest to możliwe w Linq ale tu idzie ...użyciu LINQ do grupy listę obiektów do nowej listy zgrupowane listy obiektów
mam obiektu:
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public int GroupID { get; set; }
}
wrócę listę, która może wyglądać następująco:
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 });
Chcę móc uruchomić kwerendę Linq na powyższej liście, że grupy wszystkich użytkowników, by GroupID. Zatem wyjście będzie listą list użytkowników zawierających użytkownika (jeśli to ma sens?). Coś jak:
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
Próbowałem przy użyciu klauzuli linq GroupBy ale wydaje się to zwróci listę kluczy i jej nie pogrupowane poprawnie:
var groupedCustomerList = userList.GroupBy(u => u.GroupID).ToList();
Każda pomoc będzie mile widziane.
Dzięki
bardzo ładne, właśnie to, czego potrzebowałem. Dziękuję Ci. robi to w sposób imperatywny do bani. – user1841243
Czy działa poprawnie? ponieważ jestem używany w ten sposób nie działa. objModel.tblDonars.GroupBy (t => new {t.CreatedOn.Year, t.CreatedOn.Month, t.CreatedOn.Day}). Wybierz (g => nowy {tblDonar = g.ToList()}). Notować(); to nie działa ... możesz pomóc .... –
Miło działa dobrze. –