4

Cases を Controls に一致させています。基本的に Case リストのレコードには、string で指定された数の一致が必要m_ctrlnoです。

これまでのところ、2 つのリストがあり、where 句は正しいですが、SelectMany1 つのケースに一致する 3 つのコントロールを取得する方法がわかりません。関数を使用することにしましたが、.Take()機能していないようです。var クエリを循環させると、3 つの異なるコントロールで同じケースが発生しません。

コードは次のとおりです。

List<CaseSelection> CurrentCaseList = new List<CaseSelection>();
foreach (CaseSelection CurrentCase in m_casesarraylist)
CurrentCaseList.Add(CurrentCase);

List<ControlSelection> CurrentControlList = new List<ControlSelection>();
foreach (ControlSelection CurrentControlRec in ControlList)
CurrentControlList.Add(CurrentControlRec);


var query = CurrentCaseList.SelectMany(
c => CurrentControlList.Where(o => o.pracid == c.pracid && o.sex == c.sex &&
CaseSelectionList.AgeIsInRange(c.yob, o.yob, m_years)),
(c, o) =>
new { o, c }).Take(m_ctrlno);
4

1 に答える 1