0

如何在列表或表格的查询中执行 where ?

解释一下,我有一个多选列表框,用户可以在其中选择一个或多个传递给我的操作的值。之后,我将所有这些值都放在一个列表中,我想在上面做一个 Where :

List<string> CondCR = new List<string>();
foreach (var testCR in SubCR)
{
CondCR.Add(testCR);
}

ViewBag.CondCR = CondCR;

var query = (from i in items
where i.Field<String>("TIMING").Contains(GetTIMING) && i.Field<String>("CD_CR").Equals(CondCR)
select new Suivi{CD_CR = i.Field<String>("CD_CR"), CD_APPLI = i.Field<String>("CD_APPLI"), CD_TRT = i.Field<String>("CD_TRT"), LB_TRT = i.Field<String>("LB_TRT"), 
                PERIODE = i.Field<Int64>("PERIODE"), CD_JOB = i.Field<String>("CD_JOB"), LB_JOB = i.Field<String>("LB_JOB"), CD_TYP_TRT = i.Field<String>("CD_TYP_TRT"),
                CD_TRT_SSIS = i.Field<String>("CD_TRT_SSIS"), DT_DEB = i.Field<DateTime>("DT_DEB"), DT_FIN = i.Field<DateTime>("DT_FIN"), DUREE = i.Field<String>("DUREE"),
                TIMING = i.Field<String>("TIMING")
}).ToList();

return View(query);

SubCR 包含用户在列表框中选择的值,SubCR 的类型为 string[]。

我试图在我的列表 CondCR 上做一个 where 但它什么也没返回,我不知道它是来自我的查询还是来自其他东西。

你有什么建议吗?

4

1 回答 1

0

好的,我找到了答案,我只需要在我的查询中这样做:

where CondCR.Contains(i.Field<String>("CD_CR").Trim()) && CondAppli.Contains(i.Field<String>("CD_APPLI").Trim())
于 2012-11-16T09:09:18.683 回答