I am traing to get identity users with roles using GroupJoin
I am getting this exception System.InvalidOperationException: The LINQ expression 'DbSet()
System.InvalidOperationException: The LINQ expression 'DbSet() .GroupJoin( inner: DbSet<IdentityUserRole>() .Join( inner: DbSet(), outerKeySelector: ur => ur.RoleId, innerKeySelector: r => r.Id, resultSelector: (userRole, role) => new { userRole = userRole, role = role }), outerKeySelector: u => u.Id, innerKeySelector: urGroup => urGroup.userRole.UserId, resultSelector: (u, roleGroup) => new { u = u, roleGroup = roleGroup })' could not be translated.
The code that generate exeption is :
var users = _userManeger.Users
.GroupJoin(
_context.UserRoles
.Join(_roleManager.Roles,
ur => ur.RoleId, r => r.Id,
(userRole, role) => new { userRole, role }),
u => u.Id, urGroup => urGroup.userRole.UserId,
(u, roleGroup) => new { u, roleGroup })
.Select(urg => new SearchResponseDTO
{
UserName = urg.u.UserName,
Email = urg.u.Email,
PhoneNumber = urg.u.PhoneNumber,
FirstName = urg.u.FirstName,
LastName = urg.u.LastName,
Roles = urg.roleGroup.Select(c => c.role.Name).ToList()
});
var list = users.ToList();
Can someone help me with this