我在 XML 数据集中有两个表。T1,T2。每个表都有一个 ID 列。
T1 有一个客户列表 T2 有一个订单列表
我想构建一个 LINQ 查询,它只返回没有订单的客户的 ID。换句话说,T2 表中不存在的客户 ID。
哦,是的,我正在使用 C#
谢谢!
我在 XML 数据集中有两个表。T1,T2。每个表都有一个 ID 列。
T1 有一个客户列表 T2 有一个订单列表
我想构建一个 LINQ 查询,它只返回没有订单的客户的 ID。换句话说,T2 表中不存在的客户 ID。
哦,是的,我正在使用 C#
谢谢!
这需要外部连接和对 null 的检查。
var result = from c in Customers
join d in Details on d.CustomerID equals c.ID into g
where !g.Any()
select c;
我认为这会起作用(请适应您的数据集):
var query = from c in T1
where !(from o in T2 select o.CustomerID)
.Contains(c.CustomerID)
select c;
您只需要给我们一个 where 子句和所有内容:
T1.Where( item1 => T2.All( item2 => item1.ID != item2.ID ) );