Lambda表达帮助

时间:2011-06-15 12:32:57

标签: c# linq lambda expression

我有一个问题如何写一个lambda表达式,我让它在这样的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

我正在尝试使用lambda表达式是这样的:

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对象的列表时,那只会给我一个包含KUNDs.KUNDNR字符串的列表。

我该怎么做?

非常感谢帮助!

1 个答案:

答案 0 :(得分:9)

db.KUNDs.Where(k => !db.KundInfos.Any(ki => k.KUNDNR == ki.KundID.ToString()))
        .OrderBy(k => k.KUNDNR);