Frage

Ich habe eine Datentabelle, die wie etwas fragt nachstehenden

usergroupid...userid......username
1.............1...........John
1.............2...........Lisa
2.............3...........Nathan
3.............4...........Tim

Was ich versuche, eine LINQ-Anweisung zu tun ist, schreiben, die eine Reihe von Usergroup-Instanzen zurück. Die Usergroup-Klasse hat Eigenschaften von UserGroupId und Benutzer. Benutzer ist ein Array von Benutzerinstanzen. Die Benutzerklasse dann hat Eigenschaften von Benutzer-ID und Benutzernamen ein.

Kann Füllung eine solche Hierarchie mit einer einzigen LINQ-Anweisung durchgeführt werden und was würde es aussehen?

Dank einer Million

War es hilfreich?

Lösung

Überprüfen Sie dieses heraus, hoffe, das hilft

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);
}

Andere Tipps

Es gibt -. Blick auf GroupBy und Methoden wählen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top