我有两个集合,两个集合中都具有属性Email。我需要获取第一个列表中Email第二个列表中不存在的项目的列表。使用SQL时,我只会使用“ not in”,但我不知道LINQ中的等效项。怎么做?
Email
到目前为止,我已经加入了,例如…
var matches = from item1 in list1 join item2 in list2 on item1.Email equals item2.Email select new { Email = list1.Email };
但是我无法加入,因为我需要区别,加入会失败。我需要某种相信使用的包含或存在方式。我只是还没有找到执行此操作的示例。
我不知道这是否对您有帮助。
NorthwindDataContext dc = new NorthwindDataContext(); dc.Log = Console.Out; var query = from c in dc.Customers where !(from o in dc.Orders select o.CustomerID) .Contains(c.CustomerID) select c; foreach (var c in query) Console.WriteLine( c );
从在LINQ的NOT IN子句,SQL由马可·鲁索