在实体框架的where子句中使用“in”运算符

时间:2012-06-08 13:19:05

标签: asp.net-mvc-3 linq entity-framework razor

我希望所有产品都在当前类别下可用,包括所有子类别。 我的代码是这样的:

int[] toCheck =new int[2];

toCheck[0] = 1;
toCheck[1] = 2;
toCheck[2] = 3;

var products = db.Products.Include(x => x.categoryByProductID).Where(x => x.CategoryID in ?);

此处categoryByProductID =所有子类别,      ? =我如何使用toCheck[]数组

或使用预定义值检查CategoryID的任何其他解决方案!!!

任何有用的帮助......

2 个答案:

答案 0 :(得分:1)

您希望以另一种方式稍微看一下 - 类别列表是否包含此产品的类别?

var products = db.Products.Include(x => x.categoryByProductID).Where(x => toCheck.Contains(x.CategoryID)); 

答案 1 :(得分:1)

var products = db.Products.Include(x => x.categoryByProductID).Where(x => toCheck.Any(y => y == x.CategoryID));