SubSonic,SQL Server和MySQL问题表名称[ClienteEndereco Clienteendereco]

时间:2009-05-23 18:55:46

标签: mysql sql-server subsonic

我正在使用带有SQL Server的SubSonic进行测试,一切都很好。

我决定安装MySQL并进行相同的测试,但现在我有一点问题

我的表名是SQL Server中的ClienteEndereco,但是当我在web.config中进行更改以使用MYSQL并重新编译程序时,表名来自Clienteendereco

SQL Server = Cliente**E**ndereco
MySql      = Cliente**e**ndereco

我尝试使用regexIgnoreCase="true"但没有任何反应。

任何人都可以帮忙解决这个问题吗?如何在SQL Server和MySql中制作亚音速“忽略大小写”?

谢谢。

  <add name="mssql" 
       type="SubSonic.SqlDataProvider, SubSonic" 
       connectionStringName="mssql" 
       fixPluralClassNames="false" 
       generatedNamespace="ModeloDados" 
       regexMatchExpression="A-Za-z" 
       regexIgnoreCase="true" 
       removeUnderscores="false" 
       setPropertyDefaultsFromDatabase="true" 
       generateNullableProperties="true" 
       useExtendedProperties="true" 
       useUtc="true"/>

2 个答案:

答案 0 :(得分:0)

Pawel指出Windows上的MySQL和OS X默认情况下仅使用表的小写名称。您可以使用配置选项来更改此行为。以下博客文章简要概述:

MySQL Case-sensitivity issues

答案 1 :(得分:0)

我创立了一种方式..我使用了“regexDictionaryReplace”。这种方式适用于mysql和mssql

  <add name="mysql" type="SubSonic.MySqlDataProvider, SubSonic"
             regexDictionaryReplace="Empresaendereco,EmpresaEndereco"
             fixDatabaseObjectCasing="true" connectionStringName="mysql"
             generateRelatedTablesAsProperties="true"
             fixPluralClassNames="false"
             generatedNamespace="ModeloDados"
             regexIgnoreCase="true"
             removeUnderscores="false"
             setPropertyDefaultsFromDatabase="true"
             generateNullableProperties="true"
             useExtendedProperties="true"
             useUtc="true" />

感谢您的帮助!!!