LINQ嵌套在哪里

时间:2010-04-21 03:19:17

标签: linq

如果我有以下型号;

  public List<RecommendedProduct> recommendations

然后

public class RecommendedProduct
  public List<Product> Products

然后是产品;

public class Product
  public string Code

建议列表中有10个项目。

每个推荐项目中都有两个产品。

如果使用LINQ,我能找到包含“A”和“B”产品代码的产品的建议对象吗?

1 个答案:

答案 0 :(得分:11)

使用Any扩展程序:

var myProducts =
    from rp in recommendations
    where
        cp.Products.Any(p => p.Product.Code == "A") &&
        cp.Products.Any(p => p.Product.Code == "B")
    select rp;
如果序列中的任何元素与内部条件匹配,则

Any返回true。在这种情况下,您正在搜索两个元素,因此需要进行两次Any次调用。