LINQ agrupamento / subconsulta para preencher uma estrutura de dados de hierarquia
-
11-07-2019 - |
Pergunta
Eu tenho um DataTable que as consultas fora algo como abaixo
usergroupid...userid......username
1.............1...........John
1.............2...........Lisa
2.............3...........Nathan
3.............4...........Tim
O que eu estou tentando fazer é escrever uma declaração LINQ que irá retornar uma matriz de instâncias de Grupos. A classe UserGroup tem propriedades de userGroupId e usuários. Usuários é uma matriz de instâncias de usuário. A classe de usuário, em seguida, tem propriedades de ID do usuário e nome de utilizador.
Pode fazer uma tal hierarquia ser feito com uma única instrução LINQ eo que seria a sua aparência?
Graças um milhão
Solução
Verificar isso, espero que isso ajude
var users = new[]
{
new {UserGroupId = 1, UserId = 1, UserName = "John"},
new {UserGroupId = 1, UserId = 2, UserName = "Lisa"},
new {UserGroupId = 2, UserId = 3, UserName = "Nathan"},
new {UserGroupId = 3, UserId = 4, UserName = "Tim"}
};
var userGroups = from user in users
group user by user.UserGroupId into userGroup
select new {
UserGroupId = userGroup.Key,
Users = userGroup.ToList()
};
foreach (var group in userGroups)
{
Console.WriteLine("{0} - {1}",group.UserGroupId, group.Users.Count);
}
Outras dicas
Não é -. Olhada métodos GroupBy e selecione
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow