Запрос Combinaton - PullRequest
       7

Запрос Combinaton

0 голосов
/ 20 декабря 2018

Я пытаюсь построить запрос, используя ядро ​​asp.net c #

https://www.reflectionit.nl/blog/2017/paging-in-asp-net-core-mvc-and-entityframework-core

Я пытаюсь выполнить фильтрацию, однако мне нужны данные из другой таблицы, которые имеют мой уникальный идентификатор

var result = _context.UserRoles.Where(y => y.RoleId.Contains(selectedRoles.Id)); // Retrieve the the userid i have from another table with the selected roleid

var query = _context.Users.Where(x => //I have already tried contains, where join );

Если есть сайт, где я могу узнать этот запрос, пожалуйста, порекомендуйте.«Join ()» не работает, так как я делаю пейджинг

1 Ответ

0 голосов
/ 20 декабря 2018

как минимум два решения (обратите внимание, что я не проверяю членов классов идентичности, поэтому ниже приводится «дух» решения ( вы упускаете пункты выбора )):

var result = _context.UserRoles.
    Where(y => selectedRoles.Contains(y.RoleId)).
    Select(y => y.User);

или

var result = _context.UserRoles.
     Where(y => selectedRoles.Contains(y.RoleId)).
     Select(y => y.UserId); 
query = _context.Users.
    Where(x => result.Contains(x.Id)); 

При этом, предполагая, что в Identity (v2) нет таблицы UserRoles, вы, вероятно, захотите:

userManager.Users.
    Where(u => u.Roles.Any(r => selectecRoles.Contains(r.RoleId)));

На ваше усмотрениедля создания экземпляра userManager.

...