【发布时间】:2021-04-09 12:35:03
【问题描述】:
carList = allCars.Where(a => a.CarCategory.Any(a => categoryIds.Contains(a.CarId))).ToList();
&&
allCars.Where(b => b.BrandCategory.Any(b => brandsIds.Contains(b.BrandId)).ToList();
我要发送 2 个数组。
categoryIds 和brandIds
我将匹配 categoryIds 到 carList var 的那些传递到 View,但是使用查询“或”,如果客户除了类别之外还选择了一个品牌,我想传递两个查询。
如果选择了跑车类别,它应该如下所示。
Car1 - 本田、Car2 - 宝马、Car3 - 本田、Car4 - 梅赛德斯、Car5 - 本田
如果选择了跑车类别并选择了品牌,它应该如下所示。
汽车 1、汽车 3、汽车 5
【问题讨论】:
-
&& (brandIds.Count == 0 || b.BrandCategory.Any(b => brandsIds.Contains(b.BrandId))? -
如果选择了品牌,您是要返回匹配类别或品牌的那些,还是只返回同时匹配的那些?
-
@DerDingens 选择一个类别是强制性的,但品牌是可选的。如果同时选择了类别和品牌,我想返回两者都匹配的那些。我更新了代码。
标签: c# .net asp.net-mvc entity-framework linq