Получить всех пользователей с соответствующими ролями в ASP.net Core - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь получить всех пользователей со связанными ролями в основном проекте ASP.net с помощью оператора Linq SQL. Мне удалось вернуть всех пользователей с ролями, но я не могу заставить его вернуть пользователя и без ролей.

var usersSQL = (from user in _context.Users
                         join roleIds in _context.UserRoles on user.Id equals roleIds.UserId into userRole
                         from roleIds in userRole.DefaultIfEmpty()
                         join role in _context.Roles on roleIds.RoleId equals role.Id into roles
                         orderby user.Email
                         where roles.Any(r => r.Name.ToLower() != "admin")
                         select new UserRole { User = user, Roles = roles.ToList() }).ToList();

У меня есть приведенный выше запрос, который возвращает всех пользователей с ролями, какя изменил бы это, чтобы возвратить пользователей без ролей также?

NB. SQL не моя сильная сторона, поэтому, пожалуйста, объясните, почему ваши ответы работают. Спасибо

Кроме того, уже посмотрел этот ответ , это заставило меня начать

...