我在XML数据集中有两个表。 T1,T2。每个表都有一个ID列。
T1有一个客户列表 T2有一个订单列表
我想构建一个LINQ查询,该查询只返回没有订单的客户的ID。换句话说,T2表中不存在客户ID。
哦,是的,我正在使用C#
谢谢!
答案 0 :(得分:9)
这需要外部联接并检查null。
var result = from c in Customers
join d in Details on d.CustomerID equals c.ID into g
where !g.Any()
select c;
答案 1 :(得分:6)
我认为这会有效(请适应您的数据集):
var query = from c in T1
where !(from o in T2 select o.CustomerID)
.Contains(c.CustomerID)
select c;
答案 2 :(得分:1)
你只需要使用where子句和all:
T1.Where( item1 => T2.All( item2 => item1.ID != item2.ID ) );