I am building an asp.net mvc site that allows users (with the role of manager) to add/manage other users

To do this I've added a relational table called ManagerUsers to the database that contains a manager id and a user id. When a manager invites a user, the data is stored in the ManagerUsers table.

When a manger views the users I am doing the following:

```
using (var context = new ApplicationDbContext())
{
    Guid myId = Guid.Parse(User.Identity.GetUserId());
    var userIds = context.ManagersUsers.Where(u => u.ManagerId == myId).Select(u => u.UserId.ToString()).ToList();

    var userProfiles = context.Users.Where(t => userIds.Contains(t.Id)).ToList();

    return View(userProfiles);
}

```

This works ok but seems kind of slow and long-winded. Does anyone know a better way of doing it?

EDIT: based on some replies I think I need to clarify what I'm asking. What I want to know is whether there is a better way to get a list of users that are under my management than getting a list of users Ids from the ManagerUsers table and then finding them from all of the users in the Users table? Maybe there is a better way of storing this data to make it faster for retrieval?