实体框架从带有列表的链接表中选择
使用以下数据库表结构:
Order 表:
OrderId
OrderName
OrderItem 表:
OrderId
ItemId
Item 表:
ItemId
ItemName
我有一个包含“Items”的“Order”实体收藏。我需要做的是退回包含某些商品的所有订单。示例:所有订单的商品 ID 为:1、4 和 5(我不关心它是否还有其他商品)。我目前在 List 对象中拥有选定的 id(但它不一定是列表)。我尝试过使用“包含”方法的各种想法,但没有成功。
因为 OrderItem 是一个链接表,所以我无法将其作为实体本身进行访问。如果我可以的话,我大概可以做:
context.OrderItems.Where(m => selectedIds.Contains(m.ItemId))
或者类似的事情。
有没有一种方法可以在单个查询中执行此操作,而不必循环结果?
谢谢
Using the following database table structure:
Order Table:
OrderId
OrderName
OrderItem Table:
OrderId
ItemId
Item Table:
ItemId
ItemName
I have an 'Order' entity that has an 'Items' collection. What I need to do is return all orders that contain certain items. Example: All orders with items with id: 1, 4 and 5 (I don't care if it has other items as well). I currently have the selected id's in a List object (it doesn't have to be a list though). I have tried various ideas with 'contains' method but to no avail.
Because OrderItem is a link table, I can't access it as an entity itself. If I could then presumably I could do:
context.OrderItems.Where(m => selectedIds.Contains(m.ItemId))
or something like that.
Is there a way of doing this in a single query without having to loop around the results?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这需要 EF 4。
This requires EF 4.