LEFT JOIN或RIGHT JOIN使用LINQ实体框架 [英] LEFT JOIN or RIGHT JOIN using LINQ Entity-Framework
本文介绍了LEFT JOIN或RIGHT JOIN使用LINQ实体框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试加入使用LINQ。
我应该使用什么样的? LEFT JOIN或右加入?
Trying joining using Linq. What should i use ? Left join or right join?
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
这是我的code在我的控制器:
This is my code in my controller:
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;
}
我希望有人能推荐我用什么或做什么。
谢谢你在前进。
I hope someone can recommend me what to use or what to do. Thank you in advance.
推荐答案
更新了错误:的您需要创建一个新类与所需的属性,并将其返回的
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();
这篇关于LEFT JOIN或RIGHT JOIN使用LINQ实体框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文