Я перемещаю старое приложение ASP.net (C#) из простых SQL-запросов в LINQ to SQL и испытываю некоторые проблемы с некоторыми более сложными запросами. В этом случае я пытаюсь получить список сотрудников, обладающих определенным набором навыков. Пользователь выбирает навыки поиска, а идентификаторы передаются методу, который выполняет эту работу. В старой версии SQL я просто добавлял предложения WHERE к строке для каждого навыка. Вот пример запроса:LINQ to SQL Query для отношений Many-to-Many
SELECT DISTINCT e.firstname, e.lastname, e.username
FROM employees AS e
WHERE e.id IN (SELECT es.emp_id
FROM emp_skl AS es
WHERE es.skl_id = 6 OR es.skl_id = 11
GROUP BY es.emp_id
HAVING COUNT(es.emp_id) >= 2)
Ключ HAVING COUNT положение, так что гарантирует, что сотрудники возвращаемые имеют все навыки, а не только один. В любом случае, может кто-то помочь мне превратить это в сплошной запрос LINQ?
alt text http://i32.tinypic.com/25focg2.jpg
Хороший ход, проводя схему схемы. –