jeudi 13 août 2015

ASP .NET Identity 2.0 and LINQ compound query with group by

I am using ASP .NET Identity 2.0 as my user manager. Right now I want to retrieve the list of all users with RoleId different from "4". My LINQ query looks like this:

            var userList = from entry in this.UserManager.Users
                           from roles in entry.Roles
                           where roles.RoleId != "4"
                           group entry by entry.Id into g
                           select new { g.Id, g.UserName, g.Email, g.EmailConfirmed, g.PhoneNumber, g.PhoneNumberConfirmed, g.Roles };

Unfortunately, group by completely doesn't work and g's parameters are not recognized. Without grouping the list contains separate rows for every user->role and it is not my desired effect. What is wrong in my query?

Edit: Of course each user has a number of roles. If one of them is RoleId == 4 then I do not want his record to be retrieved.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire