实体框架中多对多连接的最佳解决方案是什么。看起来在我们在将表添加到 edmx 文件后使用 EF 的一个项目中,它忽略了添加交集实体,即:
有了这些表
Customer(CustomerId,...)
CustomerOrder(CustomerId,OrderId)
Order(OrderId,...)
CustomerOrder 表未添加到 edmx,因此无法使用常规(常规意思是我们过去在 LINQ to SQL 中执行此操作的方式)内部连接查询连接这些表,例如
var q = from c in db.Customers
join co in db.CustomerOrders on c.CustomerId equals co.CustomerId
join o in db.Orders on co.OrderId equals o.OrderId
select a;
据我了解,通过查看先前提出的问题,您可以通过在 where 子句中指定条件或使用 intersects 关键字来进行多项选择和“加入”。但我想知道在这种情况下的最佳做法是什么。
假设我想知道客户有哪些订单,我将如何编写该查询。