我正在尝试使用Linq to Entities来查找没有订单的类别。使用Linq查找缺少相关数据的记录
TABLE Customer TABLE Order
------------------ ----------------
CustId Category OrderId FKCustId
1 2 1 1
2 2
3 3
这是一个经典的1对多客户/订单关系。根据这些数据,只有类别3没有与其关联的订单,所以我想生成一个结果集,并将类别3作为唯一的项目。这必须是一个简单的查询来写,但我一直无法弄清楚。我尝试了很多不同的角度;这里是一个没有工作:
var dtos = ctx.Customers
.GroupBy(c => c.Category)
.Where(c => !c.Any(c2 => !c2.Orders.Any()))
.Select(c => c.Key);
当我尝试这样做,它返回一个大类,确实有订单,而不是返回类别丢失订单。
在此先感谢您的帮助! Roger
更改!任何东西都可以正常工作。不能相信我如此亲密 - 感谢让我在那里休息。 – Roger