C# 获得;无法将空值分配给int type";linq到sql左连接出错
代码如下:C# 获得;无法将空值分配给int type";linq到sql左连接出错,c#,linq,C#,Linq,代码如下: var kids = (from relations in masterDB.mrrel_Limited2s join conso in masterDB.mrconso_Limiteds on relations.AUI2 equals conso.AUI join a in masterDB.tbl_patients_problems_problemId_to_SnoMed_Itera
var kids = (from relations in masterDB.mrrel_Limited2s
join conso in masterDB.mrconso_Limiteds on relations.AUI2 equals conso.AUI
join a in masterDB.tbl_patients_problems_problemId_to_SnoMed_Iteration2_before_doc_final_s on conso.SCUI equals a.SnoMedScui into aGroup
where relations.AUI1.Equals(contextDictionary["CategoryID"].ToString())
&&
relations.REL.Equals("CHD")
from aa in aGroup.DefaultIfEmpty()
select new
{
aui2 = relations.AUI2,
name = conso.STR,
problemId = aa.ProblemId
}).ToList();
这行抛出错误。提前感谢您的
aGroup.DefaultIfEmpty()
将在没有记录匹配时提供null
,您需要在使用时进行检查。将值赋给problemId时,检查是否为null试试这个:-
from aa in aGroup.DefaultIfEmpty()
select new
{
aui2 = relations.AUI2,
name = conso.STR,
problemId = aa != null ? aa.ProblemId : 0
}).ToList();