Как выполнить LINQ запрос к БД, сравнивая 2 значения из двух разных таблиц?

У меня есть таблица Emloyee она содержит колонку VacansyId и есть таблица Vacansies, которая содержит Name и Id. Мне нужно сравнить два значения Emloyee.VacansyId и Vacansies.Id. Логика у меня следующая, я беру название вакансии и в таблице Vacansies ищу Id такой записи, у которой есть это имя. Затем я иду в таблицу вакансии и сравниваю этот id с VacansyId. мне нужно понять, есть ли на такой вакансии работник, то есть связаны ли они между собой. Я написал такой запрос на SQL:

SELECT Employees.VacansyId
FROM Employees
INNER JOIN Vacansies
ON Employees.VacansyId = Vacansies.Id;

Но у меня Entity framework и это получается не подходит сюда. Подскажите как написать такой напрос на LINQ языке.

вот пытаюсь что-то намудрить:

vars = table_1.Where(x => !table_2.Contains(x)).ToList();
//db.Vacansies.Where(x => x.Id == db.Employees.Contains<Employee>(x).ToList();
List<Vacansy> voobsheVseVac = new List<Vacansy>();
voobsheVseVac.AddRange(db.Vacansies);
List<Vacansy> selectedVac = new List<Vacansy>();
foreach (var item in db.Vacansies.ToList())
{
    int OneIdFromTabl = item.Id;
    var v = db.Employees.Where(x => x.Id == OneIdFromTabl);
}

Ответы (1 шт):

Автор решения: Uranus

Вы можете посмотреть примеры Join Operations прямо в документации по LINQ.

Применительно к вашей задаче:

var report = from vacancy in db.Vacancies
             join employee in db.Employees on vacancy.Id equals employee.VacancyId into g
             select new { vacancy.Name, HasEmployees = g.Any() };
→ Ссылка