我TableA
列出了采购订单。我TableB
列出了入库货件。每个货件记录都参考采购订单。我想要的是一个LinqToSql子句,它将从TableA
返回那些尚未发货的采购订单记录。在SQL中,这很简单:
SELECT * FROM Orders WHERE OrderID NOT IN (SELECT OrderID FROM Shipments).
答案 0 :(得分:1)
试试这个http://introducinglinq.com/blogs/marcorusso/archive/2008/01/14/the-not-in-clause-in-linq-to-sql.aspx
答案 1 :(得分:1)
假设DbSets称为PurchaseOrders和Shipments,那么这样就足够了:
db.PurchaseOrders.Where(
p => !db.Shipments.Select(s => s.OrderID).Contains(p.OrderID)
)