我在XML数据集中有两个表。 T1,T2。每个表都有一个ID列。

T1有一个客户列表 T2有一个订单列表

我想构建一个LINQ查询,该查询只返回没有订单的客户的ID。换句话说,T2表中不存在客户ID。

哦,是的,我正在使用C#

谢谢!

有帮助吗?

解决方案

我认为这会有效(请适应您的数据集):

var query = from c in T1
            where !(from o in T2 select o.CustomerID)
            .Contains(c.CustomerID)
            select 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;

你只需要使用where子句和all:

T1.Where( item1 => T2.All( item2 => item1.ID != item2.ID ) );
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top