从其他对象中选择id = id的对象

本文关键字:对象 id 其他 选择 | 更新日期: 2023-09-27 18:03:57

我有List<objectA>与对象:

productID int
price decimal

List<objectB>的对象:

categoryID int
categoryName string
List<int> productList

现在,如果我想从ListB中选择与ListA相同的productID的所有产品,我可以这样做:

ListB.Where(x=>x.productList.Contains(LA.productID))

但是我怎么做呢?

ListA.Where(x=>x.productID in ListB.productList) 

@@EIT:

public class product
{
    public int pID {get; set; }
    public decimal price {get; set; }
}

public class catAndProd
{
    public int categoryID { get; set; }
    public string categoryName { get; set; }
    public List<int> prodList { get; set; }
}

所以我的__prodCatList有如下元素:

1,"Cat1", {1}
2,"Cat2", {2}

ItemsSource to grid:

productsDG.ItemsSource = FastSellSearchClass.listaWar.Where(x => __prodCatList.Any(q => q.prodList.Contains(x.pID)));

返回相同的项到网格。任何想法?

从其他对象中选择id = id的对象

您可以使用Any + productList.Contains:

var query = ListA
    .Where(a => ListB.Any(b => b.productList.Contains(a.productID)));

可以使用下面提到的代码

var abc=ListA.where(x=>ListB.Any(q=>q.ProductId==x.ProductId));