我有兩個表格,其最大長度爲30時有一個相同名稱的列。當我在linq中查詢它時,這兩個表格的連接實際生成的SQL(相當巨大)使用「AS」關鍵字來區分它們,稱它們爲{long_column_name} 1和{long_column_name} 2。當使用Entity Framwork 4.1 for Oracle時,長列名稱會產生錯誤
發生這種情況時,別名的長度實際上是31,這會導致ORA-00972錯誤:標識符對於別名太長了!
這顯然是SQL生成過程中的某種錯誤。
任何人都知道解決方法? ,因爲我不能重命名列,我現在要做的是創建兩個視圖沒有這些列,但這不是一個理想的解決方案。
您可以發佈生成有問題的查詢的linq語句的示例嗎?我想知道的是,如果長列名在選擇,聯接條款等 – 2012-02-14 16:42:25
有趣,如果這是來自MS。他們應該執行colname ||的substr NUM。 – tbone 2012-02-14 20:11:20
您是否嘗試過Oracle的odp.net w/entity framework支持?我沒有,但看到這裏:http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html – tbone 2012-02-14 20:19:55