日期:2014-05-20  浏览次数:21730 次

Join 子句中其中一个表达式的类型不正确。对“GroupJoin”的调用中的类型推理失败。
C# code

        var query = from d in db.d_necro
                    join g in db.Graves
                    on new { d.graveno, d.garea } equals new { g.gno, g.FgrId } into temp1
                    from g in temp1.DefaultIfEmpty()
                    join k in db.GraveKind
                    on d.gakind equals k.gkId into temp2
                    from k in temp2.DefaultIfEmpty()
                    select new
                    {
                        d,
                        g,
                        k
                    };


第一个join处提示报错
错误 36 join 子句中其中一个表达式的类型不正确。对“GroupJoin”的调用中的类型推理失败。

------解决方案--------------------
有点儿,注意类型,把后面去掉,然后一段一段加上去,看哪里出错了
------解决方案--------------------
db.d_necro 和 Graves 关系没有处理好。
d.graveno 对应的g.gno 是不是一样(同是单个,同是集合,同一类型 等等 ...........