使用Entity Framwork 4.1 for Oracle时,长列名会产生错误

Ada*_*ren 5 sql oracle entity-framework entity-framework-4.1

我有两个表,其中一个列具有相同的名称,最大长度为30.当我在linq中使用这两个表的连接查询它时,实际生成的SQL(顺便说一下非常大)使用"AS"关键字来区分它们,称它们为{long_column_name} 1和{long_column_name} 2.

当发生这种情况时,别名实际上是31的长度导致ORA-00972错误:别名的标识符太长了!

这显然是SQL生成过程中的某种错误.

谁知道一个变通方法?因为我无法重命名列,我现在所做的是创建没有这些列的两个视图,但这不是一个理想的解决方案.

Mar*_*bak 0

在我看来,你几乎得到了我要建议的解决方案。不要创建省略列的视图,而是创建一个包含列的视图,但使用该视图将这些列重命名为更短的名称。

希望有帮助。