我是一个SQL迷,而EF的语法对我来说并不直观。
我有一张餐桌和一张食物桌。我想要食物有类型的餐馆和食物包含在字符串列表类别中。这是一些大致代表我想要的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;
答案 0 :(得分:1)
尝试
var restaurants = db.Restaurants.Where(r => types.Contains(r.Food.Type));
答案 1 :(得分:0)
where Food.Categories.Any(c => types.Contains(c.Name))
答案 2 :(得分:0)
试试这个:
var dbRestaurants =
from r in db.Restaurants
join f in db.Foods on r.RestaurantId equals f.RestaurantId
where types.Any(foodType => foodType == f.Type)
select r;