私はSQLの中毒者で、EFの構文は直感的ではありません。エンティティフレームワークでは、結合されたテーブルに対して "IN"クエリをどのように実行しますか?
私はレストランテーブルと食卓を持っています。私は食べ物が文字列リストのカテゴリに含まれる型を持つレストランと食品を欲しい。ここに私が望むものを大まかに表すいくつかのSQLがあります。
SELECT r.*, f.*
FROM Restaurant R
JOIN food f on f.RestaurantID = r.RestaurantID
WHERE f.Type IN ("Awesome", "Good", "Burrito")
ここでは、そのSQLに変換するコードを示します。
List<string> types = new List<string>() { "Awesome", "Good", "Burrito"};
var dbrestaurants = from d in db.Restaurants
.Include("Food")
//where Food.Categories.Contains(types)//what to put here?
select d;
だから、私は私のコードでは、私が得ることを置く:エラー1委任「System.Func 'は1つの引数を取らない –
Jim
おそらく、あなたが持っているすべてのクラスとメンバがわからないからです。私は間違った何かを得たに違いない。これを試してみてください:types.Contains(Food.Type) – usr
私が問題になっているのは、 "Type"がFoodコレクションのプロパティとして利用できないということです。コレクション内の個々の食品アイテムでのみ利用できます。 – Jim