LinqToEntities查询没有连接的记录

时间:2011-11-24 15:24:39

标签: linq-to-entities

TableA列出了采购订单。我TableB列出了入库货件。每个货件记录都参考采购订单。我想要的是一个LinqToSql子句,它将从TableA返回那些尚未发货的采购订单记录。在SQL中,这很简单:

SELECT * FROM Orders WHERE OrderID NOT IN (SELECT OrderID FROM Shipments).

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

假设DbSets称为PurchaseOrders和Shipments,那么这样就足够了:

db.PurchaseOrders.Where(
    p => !db.Shipments.Select(s => s.OrderID).Contains(p.OrderID)
)