linq 两张表连接报错,未将对象引用设置到对象的实例。

图片说明

表一
图片说明
表二
图片说明

代码如下:

var query3 = from aa in dt44.AsEnumerable()
join zz in dt33.AsEnumerable()
on new
{
id1 = aa.Field("地市")

                    }

                   equals new
                   {
                       id1 = zz.Field<string>("地市")

                   } into xx
                     from hh in xx.DefaultIfEmpty()
                     select new
                     {
                         iform = aa,
                       inform2= hh

                     };



        DataTable dtcomb = new DataTable();
        dtcomb.Columns.Add("地市");
        dtcomb.Columns.Add("5G站点告警数量");
        dtcomb.Columns.Add("3DMIMO站点告警数量");

        foreach (var obj in query3)
        {
            DataRow dr = dtcomb.NewRow();
            dr["地市"] = obj.iform.ItemArray[0];
            dr["5G站点告警数量"] = obj.iform.ItemArray[1];


            if (  obj.inform2.ItemArray[0]==null )
            {
                dr["3DMIMO站点告警数量"] = 0;
            }
            else
            {
                dr["3DMIMO站点告警数量"] = obj.inform2.ItemArray[1];
            }

            dtcomb.Rows.Add(dr);
        }

if ( obj.inform2.ItemArray[0]==null )
{
dr["3DMIMO站点告警数量"] = 0;
}
->
if ( obj.inform2 == null || obj.inform2.ItemArray == null || obj.inform2.ItemArray[0]==null )
{
dr["3DMIMO站点告警数量"] = 0;
}