سلام از کلاسهای خود Identity استفاده کن
هر جا که لازم داشتی همونها رو override کن اینطوری راحتتری مشکلاتت هم کمتر میشه
متدی که نوشتی توش شرط نگذاشتی که چی رو برگدونه. من معمولا برای جستجو از نشاسه استفاده میکنم
این متدی هست که خودم استفاده میکنم.
ابتدا



public async Task<List<UsersViewModel>> GetUsersInRoleAsync(string RoleId)
{
var userIds = (from r in Roles
where (r.Id == RoleId)
from u in r.Users
select u.UserId).ToList();

return await _userManager.Users.Where(user => userIds.Contains(user.Id))
.Select(user => new UsersViewModel
{
Id = user.Id,
Email = user.Email,
UserName = user.UserName,
PhoneNumber = user.PhoneNumber,
FirstName = user.FirstName,
LastName = user.LastName,
BirthDate = user.BirthDate,
IsActive = user.IsActive,
Image = user.Image,
RegisterDateTime = user.RegisterDateTime,
Roles = user.Roles.Select(u => u.Role.Name),

}).AsNoTracking().ToListAsync();
}