У меня есть таблица с именами серверов и логинами. Мне нужно получить логины, которые являются общими для группы серверов.
Учитывая следующие данные:
ServerName Login
-------------------------------
Server1 User1
Server2 User1
Server2 User2
Я бы прошел Server1, Server2 и получил бы обратно только User1, так как User2 не связан с Server1.
Может кто-нибудь сказать мне, как это будет достигнуто в LINQ to SQL?
Я попробовал Contains, но это возвращает мне всех пользователей на любом из серверов, что является своего рода противоположностью того, что я ищу.
РЕДАКТИРОВАТЬ: Один из моих коллег удалось написать версию SQL, что я после ....
SELECT Login
FROM ServerLogins
WHERE ServerName IN ('Server1', 'Server2')
GROUP BY Login
HAVING count(Login) = 2
но никто из нас не знает, как перевести это в запрос LINQ.
ДОПОЛНИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ:
С помощью Райана и некоторого поиска в Google различий в LINQ между VB и C # я получил следующее:
Dim logins = From l In dc.ServerLogins _
Where servers.Contains(l.ServerName) _
Group l By l.Login Into Group _
Where Group.Count() = servers.Count _
Select Login
Еще раз спасибо всем за помощь.
Ник