У меня есть таблица с именами серверов и входами. Мне нужно получить логины, которые являются общими для всей группы серверов.LINQ to SQL - Борьба с запросом
Учитывая следующие данные:
ServerName Login
-------------------------------
Server1 User1
Server2 User1
Server2 User2
Я бы пройти в Server1, Server2 и получить обратно только User1, как Пользователь2 не связан Сервер1.
Может ли кто-нибудь сказать мне, как это будет достигнуто в LINQ to SQL?
Я попытался Содержит, но это возвращает меня всех пользователей на любом из серверов, который является видом противоположности тому, что я ищу.
EDIT: Один из моих коллег удалось написать версию SQL, что я после ....
SELECT Login
FROM ServerLogins
WHERE ServerName IN ('Server1', 'Server2')
GROUP BY Login
HAVING count(Login) = 2
, но ни один из нас знает, как перевести это в запросе LINQ.
ДОПОЛНИТЕЛЬНЫЕ EDIT:
С помощью Райана и некоторые Googling различий в 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
Еще раз спасибо за помощь.
Ник
Можете ли вы дать нам заявление LINQ, которое вы пытаетесь? –
Не могли бы вы привести пример кода? – sloth