Subsonic 亚音速Oracle与属性案例

Subsonic 亚音速Oracle与属性案例,subsonic,Subsonic,我不知道这个问题的答案 对于MSSQLSERVER和MYSQL,下一个配置运行得很好,但对于Oracle则不行 与甲骨文出现像这样 货物c=新货物(); c、 Idcargo=1 使用MSSQL和MYSQL c、 IdCargo=1 如何配置与Oracle的连接,使其显示为“IdCargo”而不是“IdCargo” 配置: <providers> <clear/> <add name="oracle" type="SubSon

我不知道这个问题的答案

对于MSSQLSERVER和MYSQL,下一个配置运行得很好,但对于Oracle则不行

与甲骨文出现像这样

货物c=新货物(); 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>


Valmir,您的货物表的定义是什么样的?我打赌你的错误来自Oracle,而不是亚音速,如果你的定义像这样的话

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

你在亚音速下的财产不会被视为ldCargo。这是因为Oracle将所有列名和表名存储为大写。如果您想让它在亚音速下作为驼峰格式出现(亚音速将为您删除“u”)您需要将ldCargo更改为ld_cargo

因为runxc1说Oracle不尊重列/表名称的大小写,我想您的regexdictionaryreplace配置隐藏了表的问题。 通过在表/列名周围加引号,可以强制oracle在db创建脚本中区分大小写,但我认为这有其自身的缺点:


由于MySql也有同样的问题,我建议您在db表/列命名约定中使用下划线(再次如runxc1所说),然后您可以完全删除regexdictionaryreplace。

Hi runxc1,我在表中又创建了一个字段,如Descricao_Teste,当然还可以设置RemoveUnderlines=“true”在web.config中,以这种方式工作。。。。。我尝试将表列创建为驼峰大小写,但在oracle中始终保持大写。您知道其他解决方法吗?您不需要设置remove下划线=“true”,因为这是默认设置。当我有一个名为c_test_info_id SubSonic的列时,使用所有默认值会将其转换为CTestInfoIdAs Adam指出,您可以更改Oracle,使其尊重大小写,但每个人都告诉我这是一个大错误,会导致许多其他错误。是的,谢谢Adam。在列名中使用引号可以工作。。。在这个项目中,我不能将所有的列都改为使用“\ux”,但在下一个项目中,我可能会改变。。。。再次感谢您的帮助。