以下のコードでは、n行をretrnすることを想定していますが、初期セットのレコードがゼロであるため、理想的には、UNION ALLを実行して整数リスト内のすべての整数のレコードを返す必要があります.Totals {6,7,8,9,17} どうすればいいですか?linqからsqlへのforeachループ内での共用体の使用
var tbl = (from a in db.Applicants
where a.Id == null
select new { a.Id, a.Firstname, a.Lastname });
int thisTag;
foreach (int c in clearanceTotals)
{
switch (c)
{
case 6:
thisTag = 38;
break;
case 8:
thisTag = 39;
break;
case 17:
thisTag = 39;
break;
case 7:
thisTag = 42;
break;
case 9:
thisTag = 44;
break;
}
tbl = (from a in db.Applicants
join ad in db.ApplicantDeployments on a.Id equals ad.ApplicantId
join aa in db.ApplicantAttachments on a.Id equals aa.ApplicantId
where a.Nationality == 15 && a.DoNotUse == false && a.ClearanceStatus == c
&& aa.Tag == thisTag
select new { a.Id, a.Firstname, a.Lastname }).Union(tbl);
}
てみ '.ToList()' 'ように追加しました。連合はデータベース側で処理しようとしません。 – mellamokb
ToListを追加しないでください。おそらくデータベース内で共用体を実行したいからです。 – usr
できませんToList() – sarsha