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();