【发布时间】:2016-05-26 20:39:48
【问题描述】:
我想将我的 linq 语句从查询语法切换到 lambda,对我来说最难理解的部分是 lambda join
from ru in db.rpm_usr
join ei in db.emp_info on ru.wwid equals ei.wwid
所以上面那个查询连接语法很简单,但是当我尝试将它放入 lambda 中时
这对我不起作用
.Join(Rpm_scrty_emp_info, p => p.Iact_ind, j => j.Wwid
完整查询:
var queryAllUsers = (from ru in db.rpm_usr
join ei in db.emp_info on ru.wwid equals ei.wwid
let cdis_eml = ei.dmn_addr + ";"
where ru.inact_ind == "N" && ei.inact_ind == "N" && ei.dmn_addr != null
orderby ei.dmn_addr
select new rpm_scrty_rpm_usr()
{
usr_id = ru.usr_id,
usr_lnm = ru.usr_lnm,
usr_pwd = ru.usr_pwd,
usr_fnm = ru.usr_fnm,
wwid = ru.wwid,
apprvr_wwid = ru.apprvr_wwid,
chg_dtm = ru.chg_dtm,
chg_usr_id = ru.chg_usr_id,
dflt_ste_id = ru.dflt_ste_id,
cre_dtm = ru.cre_dtm,
cre_usr_id = ru.cre_usr_id,
lst_pwd_chg_dtm = ru.lst_pwd_chg_dtm,
lst_accs_dtm = ru.lst_accs_dtm,
email_id = ru.email_id,
inact_ind = ru.inact_ind,
salt = ru.salt,
tel = ru.tel
}).ToList();
【问题讨论】:
-
使用 Linqpad 看看它如何将您的查询转换为 lamda 语法。对于它的价值,我总是使用查询语法来连接,因为它产生更好的可读代码。
-
我同意我更喜欢查询语法。有一些公司标准等,我确实使用 Linqpad,但我从来没有发现 linqpad 能真正帮助我处理 sytax,哦,它真的表明了吗?
标签: c# linq linq-to-sql lambda