0

リストまたはテーブルのクエリで where を実行するにはどうすればよいですか?

説明するために、ユーザーがアクションに渡される1つまたは複数の値を選択できる複数選択リストボックスがあります。その後、リスト内のすべての値を取得し、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 に答える