[英]LEFT JOIN or RIGHT JOIN using LINQ Entity-Framework
嘗試使用Linq加入。 我該怎么用? 左連接還是右連接?
APPLICANT TABLE PROFILE TABLE
APPLICANT_ID|profile_id|Applicant_Name| |profile_id|Applicant_Name
1 | NULL | RAY HEAVENS | | 1 | MARK LAPID
2 | NULL | BEN TULFO | | 2 | SUPER MAN
3 | 1 | NULL | | 3 | BRANDON KNIGHT
4 | 2 | NULL | |
5 | 3 | NULL | |
DESIRED OUTPUT:
APPLICANT_ID | Applicant_Name
1 | RAY HEAVENS
2 | BEN TULFO
3 | MARK LAPID
4 | SUPERMAN
5 | BRANDON KNIGHT
這是我的控制器中的代碼:
var applicantList = (from a in context.Profiles
join app in context.APPLICANTs
on a.PROFILE_ID equals app.Profile_id into output
from j in output.DefaultIfEmpty(new APPLICANT())
select j ).Take(1000).AsEnumerable();
applicantdata = applicantList.AsQueryable().OrderBy(v => v.APPLICANT_ID).ToList();
if (applicantdata.Any())
{
Cache.Set("applicants", applicantdata, 30);
}
}
return applicantdata;
}
我希望有人可以推薦我使用或做什么。 先感謝您。
針對錯誤進行了更新: 您需要創建具有所需屬性的新類並將其返回。
var applicantList = (from app in context.APPLICANTs
join a in context.Profiles
on app.Profile_id equals a.PROFILE_ID into output
from j in output.DefaultIfEmpty()
select new { APPLICANT_ID = app.APPLICANT_ID, Applicant_Name = (j == null ? app.Applicant_Name : j.Applicant_Name) }).Take(1000).AsEnumerable();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.