я должен преобразовать в LINQ этот SQL-запрос:Linq C#: Целое число dbnull, как я могу его проверить?
SELECT DISTINCT COUNT(tab1.IdUtente) AS NumClientiSenzaAccessi
FROM tab1 LEFT OUTER JOIN tab2 ON tab1.IdUtente = tab2.IdAttivazione
WHERE (tab1.Demo = 0) AND (tab1.idRivenditore = 0) AND (tab1.IdGruppo <> 29) AND (tab1.IdGruppo <> 130) AND (tab1.IdGruppo <> 117) AND (tab2.IdAttivazione IS NULL)
Я попытался сделать этот запрос:
var numClienti = (from u in contestoDB.tab1
join c in contestoDB.tab2 on u.IdUtente equals c.IdAttivazione
where u.Demo == demo && u.idRivenditore == 0 && u.IdGruppo != 29 && u.IdGruppo != 130 && u.IdGruppo != 117 && (c.IdAttivazione.ToString() == null)
select u.IdUtente
).Count();
Но она всегда возвращает 0, а не другое значение !!! Как я могу сравнить с DBNull
значением c.IdAttivazione
и его тип является целым числом с NULL (int?
)?
Возможный дубликат [LEFT OUTER JOIN в LINQ] (http://stackoverflow.com/questions/3404975/left-outer-join-in-linq) –