2010-01-24 5 views
2

Я пытался это сделать.Fluent Nhibernate Oracle Identifier Too Long - Alias ​​Name Issue

HasManyToMany<YechidotDoarInGroup>(x => x.Col_yig) 
    .Table("PigToYig") 
    .ChildKeyColumn("YIG_GROUP_RECID") 
.ParentKeyColumn("PIG_GROUP_RECID"); 

, но у меня есть:

ORA-00942: таблица или представление не существует

Я пытаюсь установить соединение HasManyToMany не ID, а некоторой другое имущество.

Сначала у меня есть слишком длинное сообщение. Когда я пытался ввести собственное имя таблицы в качестве псевдонима, он не распознается. Что мне делать?

ответ

1

Определите метод таблицы() перед всем объявлением сопоставления.

public EmployeeMap : ClassMap<Employee> 
{ 
    public EmployeeMap() 
    { 
     Table("EMPLOYEE"); 
     // your declaration 
     Id(x => x.IdEmployee);   
    } 
} 
1

Причина: Таблица или Введенный не существует, синоним, который не разрешено здесь был использован, или вид был ссылки, где требуется таблица. Существующие пользовательские таблицы и представления могут быть , перечисленные путем запроса данных . Для доступа к таблице могут быть определены некоторые привилегии . Если приложение вернуло это сообщение, таблица приложение, пытающееся получить доступ к , не существует в базе данных, или приложение не имеет доступа к .

Действие:
Проверьте каждый из следующих действий:

* the spelling of the table or view name. 
* that a view is not specified where a table is required. 
* that an existing table or view name exists. 

source ora-code.com

2

Проблема вполне может быть так:

.Table("PigToYig") 

имена объектов Oracle, по умолчанию, в верхнем корпусе. Однако Oracle применяет имена в двойных кавычках в данном случае. Другими словами, если ваша таблица имеет по умолчанию именования вам может понадобиться пройти в этом вместо того, чтобы ...

.Table("PIGTOYIG") 

Это зависит от того, как NHibernate преобразует эти переменные в SQL (я не знаком с NHibernate).

+0

Спасибо за ответ. Пробовал это с верхним, все еще не решение. Оракул не распознает имя таблицы. По логике таблица не существует в БД, она создается самим FNH и при попытке выполнить запрос, с которым она не работает, - ORA-00942: таблица или представление не существует. Есть ли у вас еще какие-нибудь выводы по этому вопросу? –