При использовании Entity Framwork 4.1 для Oracle длинные имена столбцов создают ошибки - PullRequest
5 голосов
/ 14 февраля 2012

У меня есть две таблицы, в которых столбец с одинаковым именем имеет максимальную длину 30. когда я запрашиваю его в linq с объединением этих двух таблиц, фактически сгенерированный SQL (кстати, довольно большой) использует ключевое слово «AS», чтобы различать их, называя их {long_column_name} 1 и {long_column_name} 2.

когда это происходит, имя псевдонима фактически имеет длину 31, что приводит к ошибке ORA-00972: идентификатор слишком длинный для имени псевдонима!

это, очевидно, какая-то ошибка в процессе генерации SQL.

кто-нибудь знает об обходном пути? поскольку я не могу переименовать столбцы, сейчас я создаю два представления без этих столбцов, но это не идеальное решение.

Ответы [ 2 ]

0 голосов
/ 08 августа 2012

Здесь - форум провайдера данных Oracle с соответствующим вопросом. В ссылке подтверждается, что это внутренняя ошибка, над которой они работают. Сейчас говорят, что нужно переименовать столбец в таблице, что в большинстве случаев нежелательно. Я бы попытался сопоставить вид с переименованными более короткими столбцами

0 голосов
/ 15 февраля 2012

Мне кажется, вы почти получили решение, которое я собирался предложить. Вместо создания представления, в котором пропущены столбцы, создайте представление, в котором есть столбцы, но используйте представление, чтобы переименовать эти столбцы во что-то более короткое.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...