为什么以下查询会导致异常?

时间:2014-02-10 21:57:49

标签: c# linq-to-entities llblgenpro llblgen

以下查询导致异常:

无法将”System.Linq.Expressions.TypedConstantExpression“类型的对象强制转换为”SD.LLBLGen.Pro.LinqSupportClasses.ExpressionClasses.SetExpression“。”。

可能是什么问题?

return (from ubt in meta.TableUbt
        join tc in meta.TableTc on ubt.TCId equals tc.Id
        where ubt.Ar110aid == ar110AId && tc.IsPayment
        group ubt by new { ubt.Ar110aid, ubt.TCId } into tempTrans
        join pyd in meta.TablePyd on tempTrans.Key.Ar110aid equals pyd.Ar110Aid
        join pm in meta.TablePm on pyd.Ar110Id equals pm.Id
        join tly in TableTly on new { pyd.TyId, ChrgTransId = tempTrans.Key.TCId }
              equals new { tly.TyId, tly.ChrgTransId }
        join cr in meta.TableCr on
        new
        {
            TyId = (int?)pyd.TyId,
            TxLevId = (int?)tly.TxLevId,
            Ar101Id = (int?)pm.Ar101Id
        }
        equals
        new
        {
            cr.TyId,
            cr.TxLevId,
            cr.Ar101Id
        }
        join crd in meta.TableCrd on cr.Id equals crd.TableCrId
        where crd.StartingLimit <= tempTrans.Sum(b => b.Amount) && 
              tempTrans.Sum(b => b.Amount) <= crd.EndingLimit
        select crd.Id).FirstOrDefault();

1 个答案:

答案 0 :(得分:2)

加入 TableTly 可能存在问题。它似乎是本地数据集。并且禁止加入Db数据和内存中的对象。