我正在尝试使用 Linq to Entities 来查找不存在订单的类别。
TABLE Customer TABLE Order
------------------ ----------------
CustId Category OrderId FKCustId
1 2 1 1
2 2
3 3
这是经典的一对多客户/订单关系。鉴于此数据,只有类别 3 没有与之关联的订单,因此我想生成一个以类别 3 作为唯一项目的结果集。这一定是一个直截了当的查询,但我无法弄清楚。我尝试了很多不同的角度;这是一个不起作用的:
var dtos = ctx.Customers
.GroupBy(c => c.Category)
.Where(c => !c.Any(c2 => !c2.Orders.Any()))
.Select(c => c.Key);
当我尝试这个时,它返回了一个确实有订单的类别,而没有返回缺少订单的类别。
提前感谢您的帮助!罗杰