【发布时间】:2013-10-11 14:48:25
【问题描述】:
在尝试执行此查询时:
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
};
我收到此错误:
join 子句中的一个表达式的类型不正确。 调用“加入”时类型推断失败。
QOT_SEC_ID 是 decimal 类型,PAY_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 }
但出现上述错误。
【问题讨论】:
标签: c# linq entity-framework join linq-to-entities