ORA-00904在从linq生成的查询中无效的标识符
本文关键字:查询 无效 标识符 在从 linq ORA-00904 | 更新日期: 2023-09-27 18:06:22
我有这个linq:-
var query = from r in Ctx.Reg
select new
{
IdReg = r.Id,
...
Status1 = r.Hist.OrderByDescending(o => o.Id).Take(1).Any(x=> x.Status == 2),
Status2 = r.Hist.OrderByDescending(o => o.Id).Skip(1).Take(1).Any(x=> x.Status == 5)
};
生成的查询包含:
WHERE ("Extent1"."REP_ID" = "Extent2"."REP_ID")
我正在接收消息
ora - 00904:"Extent1"。"REP_ID"。
两个列都存在并且具有相同的数据类型。我该怎么做呢?
我不知道确切的原因,但它工作:
var query = from r in Ctx.Reg
select new
{
IdReg = r.Id,
...
Status1 = Ctx.RegHist.OrderByDescending(o => o.Id).Any(x=> x.RegId == r.Id && x.Status == 2),
Status2 = Ctx.RegHist.OrderByDescending(o => o.Id).Skip(1).Any(x=> x.RegId == r.Id && x.Status == 5)
};