【发布时间】:2012-03-06 00:54:34
【问题描述】:
我有两个表,其中有一列同名,最大长度为 30。 当我在 linq 中使用这两个表的连接查询它时,实际生成的 SQL(顺便说一下相当大)使用“AS”关键字来区分它们,称它们为 {long_column_name}1 和 {long_column_name}2。
当这种情况发生时,别名的长度实际上是 31,这会导致 ORA-00972 错误:标识符对于别名来说太长了!
这显然是 SQL 生成过程中的某种错误。
有人知道解决方法吗? 因为我无法重命名列,所以我现在要做的是创建两个没有这些列的视图,但这不是一个理想的解决方案。
【问题讨论】:
-
您能否发布一个生成有问题查询的 linq 语句示例?我想知道的是长列名是否在 select、join 子句等中。
-
有趣的是,如果那来自 MS。他们应该做 colname || 的 substr编号。
-
您尝试过 Oracle 的 odp.net w/ 实体框架支持吗?我没有,但请看这里:oracle.com/technetwork/issue-archive/2011/11-sep/…
-
@tbone - 这就是我正在使用的。我相信他们就是有这个错误的人。
标签: sql oracle entity-framework entity-framework-4.1