Linq 如何将下面的SQLQuery转换为LINO
我在C中使用VS2008,我真的没有时间讨论所有这些,但是我可以告诉你如何完成Linq 如何将下面的SQLQuery转换为LINO,linq,Linq,我在C中使用VS2008,我真的没有时间讨论所有这些,但是我可以告诉你如何完成 SELECT t_PersonalInformation.personalInformation_Name, t_PersonalInformation.personalInformation_PresentAddress, t_PersonalInformation.personalInformation_PermanentAddress, t_Persona
SELECT t_PersonalInformation.personalInformation_Name, t_PersonalInformation.personalInformation_PresentAddress,
t_PersonalInformation.personalInformation_PermanentAddress, t_PersonalInformation.personalInformation_Phone,
t_PersonalInformation.personalInformation_Email,
t_Applicant.applicant_TotalExperience,
t_Experience.experience_CompanyName, CAST( t_Experience.experience_EndingYear AS INT) - CAST( t_Experience.experience_JoiningYear AS INT) AS yearOfExperience ,
t_Experience.experience_Responsibilities,
t_Training.training_TitleDetails, t_Training.training_Institute,
t_Training.training_Year, t_Training.training_Duration
FROM t_Applicant LEFT OUTER JOIN
t_PersonalInformation ON t_Applicant.applicant_user_ID = t_PersonalInformation.personalInformation_applicant_ID
LEFT OUTER JOIN
t_Experience ON t_Applicant.applicant_user_ID = t_Experience.experience_applicant_ID
LEFT OUTER JOIN
t_Training ON t_Applicant.applicant_user_ID = t_Training.training_applicant_ID
WHERE (t_Applicant.applicant_user_ID = 'hasib789')
第二个“from”语句是执行外部联接的方法之一。DefaultIfEmpty允许它生成ClassName的新记录,即使找不到perInf的匹配记录。一旦您实际在底部的新记录中分配值,就必须检查null
使用该模板,您应该能够生成查询的其余部分。请发布您目前编写的代码。人们通常不喜欢只为您编写代码。
var query = from var applicant in t_Applicant
from perInf in t_PersonalInformation.Where(per => applicant.applicant_user_ID = per.personalInformation_applicant_ID).DefaultIfEmpty()
where applicant.applicant_user_ID == "hasib789"
select new ClassName{
Name = perInf!=null ? perInf.personalInformation_Name : <default value>,
PresentAddress = perInf!=null ? perInf.personalInformation_PresentAddress: <default value>,
...
etc
}