在Linq查询中比较整数数组

时间:2018-07-04 07:31:27

标签: asp.net arrays linq

我当前正在构建的模块的要求之一是,我需要使用Linq选择数据,但id是通过整数数组传递给我的。

        var CheckedArray = Request["doc_download"];
        string[] detailIds = CheckedArray.Split(',');
        List<int> dtIds = new List<int>();
        foreach (string words in detailIds)
        {
            dtIds.Add(Int32.Parse(words));
        }


      using (var ctx = new Connect2020Entities())
        {
           DetailList = (from userDetail in ctx.DocumentDetail
           where userDetail.ID == <!-- items in dtIds --> //<<I do not know what could be used to compare all of the data from the array in a single query>>

           select new DetailList()
           {
             FilePath = userDetail.FilePath
           }).ToList<UserDocument>();
        }

可以做什么,以便可以一次性在查询内部比较整数数组中的所有id。我目前无法想到一种可行的逻辑,该逻辑将允许将数组中的值用作我正在使用的查询中的参数。

* DocumentDetail字段ID是整数。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用Contains()

ctx.DocumentDetail.Where(ele => dtIds.Contains(ele.ID)).ToList();

或使用您当前的语法

where dtIds.Contains(userDetail.ID)