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

标签 sql oracle entity-framework entity-framework-4.1

我有两个表,其中有一个最大长度为 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/

相关文章:

java - 使用 Java/EJB 2.x 在 Oracle 上按日期(1916 年 5 月 1 日)查询记录

entity-framework - 禁用延迟加载时,如何仅将导航属性的特定属性包含到 Entity Framework 的查询中?

.net - DataTable 和 DataSet 现在应该过时了吗?

c# - 使用 C#(或任何其他方法)将 XML 转换为 SQL Server 表

mysql - 为什么我的 JOIN 会增加/可能会增加查询中的 SUM?

.net - Oracle 查询在 .NET 应用程序中运行缓慢(或失败),但在 SQL Developer 中运行很快

oracle - 在oracle中使用索引

asp.net-mvc-3 - 在 linq toEntity 中选择最大值

php - 联合所有的子查询计数

sql - 在 SQL 表中查找值