我试过这样做。
HasManyToMany<YechidotDoarInGroup>(x => x.Col_yig)
.Table("PigToYig")
.ChildKeyColumn("YIG_GROUP_RECID")
.ParentKeyColumn("PIG_GROUP_RECID");
但我有:
ORA-00942:表或视图不存在
我正在尝试建立HasManyToMany连接,而不是ID,但是 其他一些财产。
首先我得到了 - 太长的消息。当我尝试将自己的表名称作为别名输入时,它无法识别。我该怎么办?
答案 0 :(得分:2)
问题可能就是这样:
.Table("PigToYig")
默认情况下,Oracle对象名称为UPPER大小写。但是,在给定的情况下,Oracle在双引号中应用名称。换句话说,如果您的表具有默认命名,则可能需要传入此代码......
.Table("PIGTOYIG")
这取决于NHibernate如何将这些变量转换为SQL(我不熟悉NHibernate)。
答案 1 :(得分: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.
答案 2 :(得分:1)
在所有映射声明之前定义Table()方法。
public EmployeeMap : ClassMap<Employee>
{
public EmployeeMap()
{
Table("EMPLOYEE");
// your declaration
Id(x => x.IdEmployee);
}
}