LINQ查找没有联接的记录

本文关键字:记录 查找 LINQ | 更新日期: 2023-09-27 18:20:48

我有以下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#有问题。

LINQ查找没有联接的记录

使用!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();
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}