c# - Entity Framework - 按同一列中的多个条件选择 - 多对多

标签 c# entity-framework select linq-to-entities many-to-many

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

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

我真的不知道如何为那个场景编辑它。

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));    
}

关于c# - Entity Framework - 按同一列中的多个条件选择 - 多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10261674/

相关文章:

wpf - 使用迁移到 LocalDB 的 CodeFirst,我可以指定*在哪里*创建数据库吗?

mysql - 连接两个表文件夹和图像

c# - 如何使用自定义 JsonConverter 仅反序列化 Json.NET 中的子对象?

c# - Telegram Bot Api 库 (.Net) 中标题的换行符

c# - 实体类型的属性是键的一部分,因此不能修改或标记为已修改

entity-framework - OptimisticConcurrencyException-SQL 2008 R2而不是使用 Entity Framework 的插入触发器

c# - 使用 Sybase 时 AppDomain.CurrentDomain.GetAssemblies() 抛出 System.Reflection.ReflectionTypeLoadException

c# - 如何验证事件处理程序是否已添加

Python Pandas : Convert to 2D List of Column Headers whereas row values are not NaN

ruby-on-rails - 将 Arel 作为别名应用于 Rails 的 ActiveRecord