我有一个如下所示的表:
| FruitID | BasketID | FruitType |
| 23 | 2 | 1 |
| 24 | 5 | 1 |
| 25 | 2 | 1 |
| 26 | 5 | 2 |
我正在编写一个查询,其中我传递了一个BasketIDs
的列表,并且我想返回一个新的BasketIDs
列表,该列表仅包含具有FruitID
的篮,其中所有FruitTypes
都等于1。例如,如果我在篮框ID 2和5中通过,我只得到2,因为篮框5有FruitID 26,它是FruitType 2。
这就是我所拥有的:
var TheQuery = (from f in MyDC.TableFruits
where TheListOfBasketIDs.Contains(f.BasketID) &&
// need help here
select f.BasketID).ToList();
感谢您对如何编写筛选器的建议。
通过BasketID
对水果进行分组,以验证篮子中的所有水果的FruitType
等于1
:
var TheQuery = (from f in MyDC.TableFruits
group f by f.BasketID into g
where TheListOfBasketIDs.Contains(g.Key) &&
g.All(x => x.FruitType == 1)
select g.Key).ToList();