通过数组获取选定的datalist

时间:2014-04-14 10:59:06

标签: c# linq asp.net-mvc-3 linq-to-sql

我将问一个非常基本的问题,可能是一个重复的问题,但我的情况有点不同。 我想在Linq中使用“in”运算符。 我必须从提供Id的表中获取所有行 通过我的数组并返回该行(如果有)。我怎么能这样做。

我的数组有

var aa =“1091”,“1092”,“1093”等等。

我的表使用这些ID作为主键 。我必须得到Id包含在数组中的所有行,我不想使用S.P。

2 个答案:

答案 0 :(得分:2)

您可以使用Enumerable.Contains

var aa = new string[3] { "1091", "1092", "1093" };
var res = yourDataSource.Where(c => aa.Contains(c.ID));

答案 1 :(得分:1)

IN语句是在Contains来电中使用Where创建的。假设你使用整数作为ID,你可以这样写:

var myArray=new[]{1091,1092,1094};
var myEntities=from entity in myTable
               where myArray.Contains(entity.ID)
               select entity;