Прежде всего вам необходимо понять, откуда поступают ваши данные. Вы загружаете информацию из Users_SearchUsers
с одной стороны и UserAccesses
с другой стороны. Первый запрос выглядит как
select <somecolumns>
from users
where <somefilters>;
(вам нужно использовать ваши фактические столбцы и критерии, но Users_SearchUsers
вообще не указан в вопросе). Для простоты я проигнорировал подкачку страниц
Второй запрос выглядит следующим образом:
select *
from user_accesses
where access_type_id = 4;
Давайте соединим два:
select <someoutercolumns>
from
(
select <someinnercolumns>
from users
where <somefilters>
) t1
join
(
select <someotherinnercolumns>
from user_accesses
where access_type_id = 4
) t2
on t1.user_id = t2.user_id;
Эти запросы, вероятно, не точные решения, которые вам нужны, но вы хотите, чтобы ответы улучшились, а затем улучшите свой вопрос.
Требование имеет смысл, если запрос LINQ очень медленный. В этом случае вам необходимо выполнить рефакторинг следующим образом:
select <somecolumns>
from users
join user_accesses
on users.user_id = user_accesses.user_id and user_accesses.access_type_id = 4
where <somefilters>;