2009-07-08 75 views
0

我不知道这个问题的答案。SubSonic Oracle和属性案例

使用MSSQLSERVER和MYSQL,下一个配置运行得非常好,但是Oracle不会。

与甲骨文似乎是这样的

货物c = new Cargo(); c.Idcargo = 1;

使用MSSQL和MYSQL

c.IdCargo = 1;

如何配置与Oracle的连接以显示“IdCargo”而不是“Idcargo”。 ??

配置:

<providers> 
     <clear/> 
     <add name="oracle" type="SubSonic.oracleDataProvider, SubSonic" 
    connectionStringName="oracle" 
    fixDatabaseObjectCasing="true" 
    regexDictionaryReplace="Empresaendereco,EmpresaEndereco;Empresacontato,EmpresaContato;Franqueadoendereco,FranqueadoEndereco;Franqueadocontato,FranqueadoContato;Funcionarioacesso,FuncionarioAcesso;Funcionarioendereco,FuncionarioEndereco;Funcionariocontato,FuncionarioContato;Clienteendereco,ClienteEndereco;Clientecontato,ClienteContato;Clientehistorico,ClienteHistorico;Agendastatus,AgendaStatus;Historicostatus,HistoricoStatus" 
    generateRelatedTablesAsProperties="true" 
    fixPluralClassNames="false" 
    generatedNamespace="ModeloDados" 
    regexIgnoreCase="false" 
    removeUnderscores="false" 
    setPropertyDefaultsFromDatabase="true" 
    generateNullableProperties="true" 
    useExtendedProperties="true" useUtc="true"/> 
    </providers> 

回答

1

瓦尔米尔,什么是您的货物表的定义是什么样子?我打赌你的错误是从甲骨文,而不是来自亚音速如果你的定义看起来像这样

Create Table Cargo(
ldCargo Decimal(12,0)) 

比亚音速的财产ldCargo不会遇到。这是由于Oracle将所有列名和表名称作为大写字母存储的事实。如果您希望在亚音速遇到骆驼情况(SubSonic将删除您的“_”),则需要将ldCargo更改为ld_cargo

+0

嗨runxc1,我在web.config中创建一个多个领域的表像Descricao_Teste与课程设置removeUnderscores的=“真正的” 这样的工作..... 我试图创建表的列骆驼案件,但在甲骨文始终保持大写。 你知道解决这个问题的其他方法吗? – Valmir 2009-07-08 18:09:14

+0

你应该不需要设置删除underscores =“true”,因为它是默认值。当我有一列名为c_test_info_id的SubSonic时,使用所有默认值将SubSonic转换为CTestInfoId – 2009-07-08 18:23:01

0

由于runxc1表示Oracle不尊重列/表名,我想,你的regexdictionaryreplace配置隐藏了表格的问题。 您可以强制甲骨文带有引号表/列名在你的数据库创建脚本大小写敏感的,但是我相信,有它自身的缺点:

http://www.dbforums.com/oracle/1005513-column-name-any-convention.html#post3705627 http://oracle.ittoolbox.com/groups/technical-functional/oracle-apps-l/column-name-case-771715

既然您有同样的问题MySql我建议你移动到为你的数据库表/列命名约定使用下划线(再次作为runxc1说),那么你可以完全删除regexdictionaryreplace。