Linq - фильтрует набор результатов на основе другого запроса - PullRequest
0 голосов
/ 31 марта 2020

В моей структуре БД Каждый EmployeeId может иметь несколько BusinessId

. В моем 1-м запросе я получаю BusinessId сотрудника на основе его EmployeeId

List<int> businessId = EMPDB.BusinessEmployees.where(a =>  a.EmployeeId == 5678 && a.Active == true).Select(S => s.BusinessId).ToList();

Из вышеуказанных BusinessIds, которые я хочу чтобы отфильтровать и получить только те BusinessId, которые не соответствуют требованиям, то есть там BusinessId присутствует в таблице BusinessCompliance.

List<int> complianceBusinessIds = EMPDB.BusinessCompliances.where( m=> businessId.Contains(m.BusinessId)).ToList(); - это ошибка, и я не могу этого достичь

1 Ответ

1 голос
/ 31 марта 2020

Вы пробовали присоединиться?

        from be in EMPDB.BusinessEmployees
        join bc in EMPDB.BusinessCompliances on be.BusinessId equals bc.BusinessId
        where be.EmployeeID == 5678
        select bc;

Должен быть лучший способ ответить на такие вещи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...