C# 通过数组获取选定的数据列表

C# 通过数组获取选定的数据列表,c#,linq,asp.net-mvc-3,linq-to-sql,C#,Linq,Asp.net Mvc 3,Linq To Sql,我将要问一个非常基本的问题,可能是一个重复的问题,但我有一点不同的情况。 我想在Linq中使用“in”操作符。 我必须从提供Id的表中获取所有行 并返回行(如果有)。我该怎么做呢 我的数组有 var aa=“1091”、“1092”、“1093”等 我的表使用这些ID作为主键 .我必须获取其Id包含在数组中的所有行,我不想使用S.P.您可以使用 你可以用 你可以用 你可以用 中的语句是通过在Where调用中使用Contains创建的。假设您使用整数作为ID,您可以编写如下内容: var myAr

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

我的数组有

var aa=“1091”、“1092”、“1093”等

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

您可以使用

你可以用

你可以用

你可以用


中的
语句是通过在
Where
调用中使用
Contains
创建的。假设您使用整数作为ID,您可以编写如下内容:

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

中的
语句是通过在
Where
调用中使用
Contains
创建的。假设您使用整数作为ID,您可以编写如下内容:

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

中的
语句是通过在
Where
调用中使用
Contains
创建的。假设您使用整数作为ID,您可以编写如下内容:

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

中的
语句是通过在
Where
调用中使用
Contains
创建的。假设您使用整数作为ID,您可以编写如下内容:

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


contains在此处不起作用或在本例中也起作用?contains在此处不起作用或在本例中也起作用?contains在此处不起作用或在本例中也起作用?contains在此处不起作用或在本例中也起作用?可能的重复可能的重复可能的重复重复事实上我正在尝试这样的东西::var myEntities=从ObjReport中的实体,其中RowArray.Contains(entity.ID.ToString())选择实体;事实上,我在其中根据Id搜索记录的源代码是int类型的,但是我在其中以字符串形式获取Id的数组无法获得所需的结果。您可以使用int.Parse轻松地将字符串转换为int,例如
myStringIds.Select(s=>int.Parse(s)).ToArray()
。在LINQ语句中添加转换是个坏主意,因为您的提供者可能不知道如何将
ToString()
转换为SQL语句。在L2S中,它将尝试加载所有内容,然后对每个实体执行
ToString()
。在EF中,它会以编译错误的方式断然拒绝,实际上我正在尝试类似以下内容::var myenties=from objectreport中的实体,其中RowArray.Contains(entity.ID.ToString())选择实体;事实上,我在其中根据Id搜索记录的源代码是int类型的,但是我在其中以字符串形式获取Id的数组无法获得所需的结果。您可以使用int.Parse轻松地将字符串转换为int,例如
myStringIds.Select(s=>int.Parse(s)).ToArray()
。在LINQ语句中添加转换是个坏主意,因为您的提供者可能不知道如何将
ToString()
转换为SQL语句。在L2S中,它将尝试加载所有内容,然后对每个实体执行
ToString()
。在EF中,它会以编译错误的方式断然拒绝,实际上我正在尝试类似以下内容::var myenties=from objectreport中的实体,其中RowArray.Contains(entity.ID.ToString())选择实体;事实上,我在其中根据Id搜索记录的源代码是int类型的,但是我在其中以字符串形式获取Id的数组无法获得所需的结果。您可以使用int.Parse轻松地将字符串转换为int,例如
myStringIds.Select(s=>int.Parse(s)).ToArray()
。在LINQ语句中添加转换是个坏主意,因为您的提供者可能不知道如何将
ToString()
转换为SQL语句。在L2S中,它将尝试加载所有内容,然后对每个实体执行
ToString()
。在EF中,它会以编译错误的方式断然拒绝,实际上我正在尝试类似以下内容::var myenties=from objectreport中的实体,其中RowArray.Contains(entity.ID.ToString())选择实体;事实上,我在其中根据Id搜索记录的源代码是int类型的,但是我在其中以字符串形式获取Id的数组无法获得所需的结果。您可以使用int.Parse轻松地将字符串转换为int,例如
myStringIds.Select(s=>int.Parse(s)).ToArray()
。在LINQ语句中添加转换是个坏主意,因为您的提供者可能不知道如何将
ToString()
转换为SQL语句。在L2S中,它将尝试加载所有内容,然后对每个实体执行
ToString()
。在EF中,它会以编译错误断然拒绝