Я не знаю, если это возможно в Linq, но здесь идет ...Использование Linq для группы списка объектов в новый список сгруппированных список объектов
У меня есть объект:
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public int GroupID { get; set; }
}
I возвращает список, который может выглядеть следующим:
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 });
Я хочу, чтобы иметь возможность выполнить запрос Linq на приведенном выше списке этой группы все пользователи по GroupID. Таким образом, вывод будет списком списков пользователей, который содержит пользователя (если это имеет смысл?). Что-то вроде:
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
Я попытался с помощью предложения Linq GroupBy, но это, кажется, возвращает список ключей и его не сгруппированы правильно:
var groupedCustomerList = userList.GroupBy(u => u.GroupID).ToList();
Любая помощь будет оценена.
Благодаря
очень приятно, только то, что мне нужно. Спасибо. делая это, императивный путь сосет. – user1841243
Работает ли он нормально? потому что я использую эти способы, не работает. objModel.tblDonars.GroupBy (t => new {t.CreatedOn.Year, t.CreatedOn.Month, t.CreatedOn.Day}). Выберите (g => new {tblDonar = g.ToList()}). К списку(); это не работает ... можете ли вы помочь ... –
Приятно работать. –