编写LINQ或Lambda来检索具有匹配供应商ID的项目的正确方法

本文关键字:ID 供应商 项目 方法 Lambda LINQ 检索 编写 | 更新日期: 2023-09-27 18:07:02

给定以下类


产品- int ProductID
-供应商[]供应商


供应商- int SupplierID
-字符串供应商名称

如果我有一个包含1000个产品的数组,并且每个产品可以包含多个供应商,我如何从产品数组中获得供应商ID [X] ?

编写LINQ或Lambda来检索具有匹配供应商ID的项目的正确方法

var suppliers = 
    from product in products
    from supplier in product.Suppliers
    where supplier.SupplierID == X
    select supplier;

或者使用等价的扩展方法:

var suppliers = 
    products.SelectMany(p => p.Suppliers).Where(s => s.SupplierID == X);