linq到sql.All()或.Any()查找所有符合条件的项



我有一个如下所示的表:

| 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();

相关内容

  • 没有找到相关文章

最新更新