在下面的代碼中,我希望retrn n行,但它總是返回零行作爲我的初始設置爲零的記錄。理想情況下,它應該做一個UNION ALL並返回整數列表中的所有整數的記錄clearanceTotals {6,7,8,9,17} 任何想法如何去解決它?使用UNION foreach循環中的LINQ to SQL的
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()'所以'。 Union'不會嘗試在數據庫端進行處理。 – mellamokb 2012-04-19 18:24:37
不要添加ToList,因爲您可能想要在數據庫中執行聯合! – usr 2012-04-19 18:26:51
我不能做ToList() – sarsha 2012-04-19 18:31:31