微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 实体框架 – 在同一列中按多个条件选择 – 多对多

在这里问了非常相似的问题
Entity framework – select by multiple conditions in same column – referenced table

现在关系是多对多的.
所以我有3个表:order,items和orderItem(items是一个Junction表)
再次..我想选择至少有一个orderItem与价格100和至少一个orderItem与价格200的所有订单

我真的不知道如何编辑这个场景.

var orders = from o in kontextdbs.orders
             select o;
foreach(int value in values)
{    
      int tmpValue = value;
      orders = orders.Where(x => kontextdbs.order_item.Where(oi => x.id == oi.order_id)
}

解决方法

这是修改后的版本

foreach(int value in values)
{    
      int tmpValue = value;
      orders = orders.Where(x => (from oi in kontextdbs.order_item
                                 join i in kontextdbs.items on oi.item_id equals i.id
                                 where x.id == oi.order_id
                                 select i).Any(y => y.price == tmpValue));    
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐