LINQ查找没有连接的记录

时间:2012-01-17 20:23:05

标签: c# .net linq

我有以下LINQ查询:

vm.Ter = (from tr in DataContext.Terr_Rp
          join dm in DataContext.Dt_Mrs
          on tr.T_ID equals dm.D_ID + "00" 
          select tr).ToList();

我需要找到那些没有匹配的。意思是没有加入。 我试过不等于但是C#有问题。

2 个答案:

答案 0 :(得分:5)

使用!Any()应该可以解决问题。

vm.Ter = (from tr in DataContext.Terr_Rp
          where !DataContext.Dt_Mrs.Any(dm => tr.T_ID == dm.D_ID + "00")
          select tr).ToList();

答案 1 :(得分:0)

var list1 = new List<int>{1,2,3,4,5,6};
var list2 = new List<int>{5,6,7,8,9,10};

var result = from l1 in list1 where !list2.Contains(l1) select l1;

result: {1,2,3,4}