我有两个表,其中有一个最大长度为 30 的同名列。
当我使用这两个表的连接在 linq 中查询它时,实际生成的 SQL(顺便说一句,相当大)使用“AS”关键字来区分它们,称它们为 {long_column_name}1 和 {long_column_name}2。
发生这种情况时,别名的长度实际上是 31,这会导致 ORA-00972 错误:标识符对于别名来说太长了!
这显然是 SQL 生成过程中的某种错误。
有人知道解决方法吗?
因为我无法重命名列,所以我现在要做的是创建两个没有这些列的 View ,但这不是理想的解决方案。
最佳答案
在我看来,您几乎得到了我要建议的解决方案。不是创建一个省略列的 View ,而是创建一个包含列的 View ,但使用该 View 将这些列重命名为更短的名称。
希望有帮助。
关于sql - 使用 Entity Framework 4.1 for Oracle 时,长列名会产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280562/