我有两个数据表,需要获取一个不在另一个中的行列表。例如,表格可能如下所示:
Table1:
FN LN EMAIL POBox CustID
John Doe johndoe@here.com 123 9876
Jane Doe janedoe@here.com 234 9888
Some Guy someguy@here.com 877 8888
Table2:
FN LN EMAIL POBox
John Doe johndoe@here.com 123
Some Guy someguy@here.com 444
我需要从Table1返回使用Linq的包含Jane Doe的行(在Table1中但在Table2中没有)和包含Some Guy(表1中的POBox与Table2中的POBox不同)的行。我知道如果我在Table2中找不到它但是我不知道如何使用Linq这样做,我可以循环遍历表格行并吐出行。需要使用所有常见字段(FN,LN,EMAIL和POBox)进行比较。
答案 0 :(得分:2)
有多种方法可以做到这一点,其中一种就是这样。
table1.Where(t1=>!table2.Any(t2=>t1.Email == t2.Email))