[c#]"不能将 null 值赋给 int 类型"错误相处 linq 到 sql 左联接

标签: Linq C#
发布时间: 2017/2/28 21:14:38
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

下面是代码︰

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

这条线将引发错误。在此先感谢

解决方法 1:

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();
官方微信
官方QQ群
31647020