c# - LINQ 从子列表中选择

标签 c# .net linq

我如何进行 Linq 查询以从一个类别中获取所有 Productpricediscounts?

public class ProductCategory
{
    public List<Product> categoryProducts;
}

public class Product
{
    public List<Productprice> productPrices;
}

public class Productprice
{
    public List<Productpricediscount> priceDiscounts;
}

我的查询必须类似于:

categoryProducts.Select(p => p.productPrices).Select(x => x.?!?!

问题是我会预料到 x。 - 智能感知建议 priceDiscounts,但我得到“列表”值(例如:“Any”、“Select”、“Distinct”等。)

最佳答案

您需要使用 SelectMany为了访问 priceDiscounts:

var query = categoryProducts
            .SelectMany(x => x.productPrices)
            .SelectMany(y => y.priceDiscounts);

关于c# - LINQ 从子列表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1679933/

相关文章:

c# - 将变量(字符串)的值从 Razor View 传递到 React 组件

c# - 求二维曲线双切线的算法

c# - 在外部程序中加载 DLL?

c# - Monotouch 在使用设备构建时在 LINQ 查询上爆炸

c# - 以一种形式处理 2 个提交按钮

c# - System.IO.Stream.Read 卡住

c# - 如何使用nest elasticsearch查询一种类型的数据限制

entity-framework - 使用system.linq.dynamic连接表

c# - 在任意位置的两个分隔符之间获取子字符串

c# - 为什么 Azure 表存储不支持 DateTimeOffset?