我的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到grid:
productsDG.ItemsSource = FastSellSearchClass.listaWar.Where(x => __prodCatList.Any(q => q.prodList.Contains(x.pID)));
将相同的项目返回到网格。 有什么想法吗?
答案 0 :(得分:4)
您可以使用Any
+ productList.Contains
:
var query = ListA
.Where(a => ListB.Any(b => b.productList.Contains(a.productID)));
答案 1 :(得分:2)
您可以使用下面提到的代码
var abc=ListA.where(x=>ListB.Any(q=>q.ProductId==x.ProductId));