Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq DB2V8 for z/OS中的交叉连接_Linq_Db2_Entity Framework 5_Mainframe - Fatal编程技术网

Linq DB2V8 for z/OS中的交叉连接

Linq DB2V8 for z/OS中的交叉连接,linq,db2,entity-framework-5,mainframe,Linq,Db2,Entity Framework 5,Mainframe,我使用的是IBMDB2V8(新功能模式),我使用的是EntityFramework 5.0.0 我有一个在我的环境中完美执行的LINQ查询,但它在另一个环境中不起作用。我试图通过调试代码来提取为该LINQ查询生成的SQL查询。我尝试在我的环境(DB2DBV9.1和DB2Driver10.5)中执行该SQL,它运行良好。对于同一个查询,它在我的另一个环境中不起作用:DB2DBV8(新函数模式)和DB2Driver9.7。它为“交叉”连接提供了一个错误。当我使用LINQ时,查询是自动生成的,我无法更

我使用的是IBMDB2V8(新功能模式),我使用的是EntityFramework 5.0.0 我有一个在我的环境中完美执行的LINQ查询,但它在另一个环境中不起作用。我试图通过调试代码来提取为该LINQ查询生成的SQL查询。我尝试在我的环境(DB2DBV9.1和DB2Driver10.5)中执行该SQL,它运行良好。对于同一个查询,它在我的另一个环境中不起作用:DB2DBV8(新函数模式)和DB2Driver9.7。它为
“交叉”连接提供了一个错误。当我使用LINQ时,查询是自动生成的,我无法更改。我也想在我的第二个环境中运行。下面我给出了我的示例查询。请告诉我是否有办法解决这个问题

SELECT t1.MyName, t2.MySalary
FROM Employee t1 CROSS JOIN Salary t2
我得到了以下错误:

非法符号“十字架”。某些可能合法的符号为:。 SQLCODE=-104,SQLSTATE=42601


V8不支持
交叉连接
子句。从手册中:

V8:

联接表

>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
   |                  '-| outer |-'                                            |
   '-(--joined-table--)--------------------------------------------------------'
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
   |                  '-| outer |-'                                            |   
   +-table-reference--CROSS JOIN--table-reference------------------------------+   
   '-(--joined-table--)--------------------------------------------------------'   
>-+-table reference-->--+--JOIN--table reference--ON--JOIN条件-+-><
|“-|外部|-”|
“-(-联接表--)------------------------------------------------------------”
V9.5:

联接表

>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
   |                  '-| outer |-'                                            |
   '-(--joined-table--)--------------------------------------------------------'
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
   |                  '-| outer |-'                                            |   
   +-table-reference--CROSS JOIN--table-reference------------------------------+   
   '-(--joined-table--)--------------------------------------------------------'   
>-+-table reference-->--+--JOIN--table reference--ON--JOIN条件-+-><
|“-|外部|-”
+-表引用--交叉连接--表引用-----------------------------------------+
“-(-联接表--)------------------------------------------------------------”
注意较新版本中新的
交叉连接
子句。另一方面,V8不再受支持,您真的应该切换到更新的版本;-)


HTH.

OP显然在生产中使用DB2 for z/OS,其中的
交叉连接
语法直到版本10才可用。我无法理解为什么要在完全不同的平台上测试应用程序。啊,sry,错过了问题的z/OS部分。我的链接是给卢的。谢谢你的评论!