相关疑难解决方法(0)

实体框架中join子句中的一个表达式的类型不正确

在尝试执行此查询时:

var query = from dpr in ctx.DPR_MM
            join q in ctx.QOT on dpr.DPR_QOT_ID equals qot_id
            join p in ctx.PAY_MM on new { q.QOT_SEC_ID, dpr.DPR_TS } equals new { p.PAY_SEC_ID, p.PAY_DATE }
            where q.QOT_ID = qot_id
            select new
            {
                dpr.dpr_ts,
                dpr.dpr_close,
                pay.First().pay_dividend
            };
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

join子句中某个表达式的类型不正确.调用"加入"时类型推断失败.

QOT_SEC_ID是类型decimalPAY_SEC_ID类型int32.我不允许在表格中更改它.

无论我做什么,我都无法在模特的属性中改变它.我试图转换像这样的类型:

join p in ctx.PAY on new { sec_id = (Int32)(q.QOT_SEC_ID), dpr.DPR_TS } equals new { sec_id = (Int32)p.PAY_SEC_ID, p.PAY_DATE }
Run Code Online (Sandbox Code Playgroud)

但得到上面的错误.

c# linq linq-to-entities entity-framework join

54
推荐指数
2
解决办法
5万
查看次数

标签 统计

c# ×1

entity-framework ×1

join ×1

linq ×1

linq-to-entities ×1