LINQ Correlated SubQuery抛出Oracle异常:Oracle 11.2.0.4.0不支持APPLY

时间:2016-01-12 21:18:09

标签: c# asp.net oracle linq

这是c#查询:

qry = qry.Where(comment => idsArr.Any(
                           selectedId => dbv.VW_STAKEHOLDER_TYPE_XREF.Where(xref => xref.STAKE_ID == comment.STAKE_ID && xref.STAKEHOLDER_TYPE_ID == selectedId).FirstOrDefault() != null
                            ));

从异常的语言中我猜测c#中的某些内容正在被转换为Oracle 11因某些原因不喜欢的应用程序。我不确定查询的哪一部分被翻译成APPLY以及如何绕过这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:1)

LINQ to SQL仅适用于SQL Server,尽管一些简单查询可能适用于其他数据库。在这种情况下,查询失败,因为Oracle没有CROSS APPLY子句,而是使用横向连接。如果要将LINQ与Oracle一起使用,请参阅此文章以获取选项:Is there a Way to use Linq to Oracle