Linq to DataTable 多表联合查询分组求和,该如何解决

Linq to DataTable 多表联合查询分组求和
 var query = from b in dt2.AsEnumerable()
                        join a in dt1.AsEnumerable()
                            on b.Field<int>("ITEM_ID")
                            equals a.Field<int>("ITEM_ID")
                        into c
                        from d in c.DefaultIfEmpty()
                        group new
                        {
                            Color = b.Field<string>("ITEM_COLOR"),
                            Proportion = d == null ? 0 : d.Field<decimal>("PROPORTION")
                        }
                        by b.Field<string>("ITEM_COLOR")
                            into m
                            from e in m.DefaultIfEmpty()
                            select new
                            {

                                e.Color,
                                Proportion = m.Sum(g => e.Proportion)
                            };

查询出来的结果完全不正确 不知道是哪错了  求大神..
------解决方案--------------------
不要通过图片帖你的测试数据,帖上你的实际测试代码构造的测试数据