我当前正在构建的模块的要求之一是,我需要使用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是整数。
答案 0 :(得分:1)
您可以尝试使用Contains()
ctx.DocumentDetail.Where(ele => dtIds.Contains(ele.ID)).ToList();
或使用您当前的语法
where dtIds.Contains(userDetail.ID)