如何从多参数linq获取数据库中的记录

时间:2012-10-23 07:43:26

标签: c# .net linq

我有一个从数据库中获取记录的查询, 我需要传递参数中的id来调用这个函数, 喜欢Myfunction(1,2,3)

我希望得到与此ID匹配的结果,

public List<Items> GetItems(int[] ids)
{
var a = from Items in db.item 
where items.id == ids[]
select new Items
{

}
    return a.ToList();
}

对where子句(如何获取有关其提供的记录)存在混淆

我尝试循环使用id但无法取得任何成功

先谢谢

2 个答案:

答案 0 :(得分:3)

您可以使用Contains,方法进行检查。类似于Select * from table in Ids in(1,2,3,...)

尝试以下方法。

var a = from item in db.Items
        where ids.Contains(item.id)
        select new Item {.....}

ids是你的数组。

您可能会看到:Creating IN Queries With Linq To Sql

答案 1 :(得分:2)

将您的代码更改为以下

 public List<Items> GetItems(int[] ids)
    {
    var a = from Items in db.item 
    where ids.Contains(Items.id)
    select new Items
    {

    }
        return a.ToList();
    }