2

私はこのようなテーブルを持っています:

| FruitID | BasketID | FruitType |
|   23    |    2     |    1      |
|   24    |    5     |    1      |  
|   25    |    2     |    1      |
|   26    |    5     |    2      |

のリストを渡すクエリを作成していますが、すべてが1に等しいバスケットのみを含むBasketIDs新しいリストを取得したいと考えています。たとえば、BasketID 2と5を渡すと、バスケット5にはFruitType2のFruitID26があるため、2つだけを取り戻します。BasketIDsFruitIDFruitTypes

これは私が持っているものです:

var TheQuery = (from f in MyDC.TableFruits
                where TheListOfBasketIDs.Contains(f.BasketID) &&
                // need help here 
                select f.BasketID).ToList();

フィルタの書き方についてご提案いただきありがとうございます。

4

1 に答える 1

5

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();
于 2013-02-05T06:26:56.510 に答える