Помощь лямбда-выражения - PullRequest
3 голосов
/ 15 июня 2011

У меня есть вопрос, как написать лямбда-выражение, оно работает в запросе mssql, например:

SELECT KUNDNR 
FROM halldb.dbo.KUND
wWHERE NOT EXISTS 
(
    SELECT KundID 
    FROM halldb.dbo.KundInfo 
    WHERE KUNDNR = CONVERT(Varchar(50), KundInfo.KundID)
)
ORDER BY KUNDNR

И я пытался использовать лямбда-выражение:

db.KUNDs.Select(x => x).Except(db.KundInfos.Select(x => x));

Но так как KUNDs и KundInfo - это два разных типа объектов, которые не будут работать ... я мог бы пойти так:

db.KUNDs.Select(x => x.KUNDNR).Except(db.KundInfos.Select(x => x.KundID.ToString()));

Но это просто дало бы мне список со строками с KUNDs.KUNDNR, когда я действительно хотел бы получить список с объектами KUNDs.

Как я могу это сделать?

Помощь будет очень признателен!

1 Ответ

9 голосов
/ 15 июня 2011
db.KUNDs.Where(k => !db.KundInfos.Any(ki => k.KUNDNR == ki.KundID.ToString()))
        .OrderBy(k => k.KUNDNR);
...