2009-05-23 8 views
0

私はSubSonicでSQL Serverを使用してテストを行っていましたが、すべて問題ありませんでした。SubSonic、SQL ServerおよびMySQLの問題のテーブル名[ClienteEndereco Clienteendereco]

は、私は、MySQLをインストールすることを決定し、同じテストをしたが、今私は少し問題を抱えている

私のテーブル名がSQL ServerでClienteEnderecoですが、私は私のweb.configファイルに変更を加える際にMYSQLと協力し、再コンパイルしますプログラムは、テーブル名は、私がregexIgnoreCase="true"を使用しようとしたが、何も起こりませんClienteendereco

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

が来ます。

誰でも解決することができますか? 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"/> 
+0

どのバージョンのSubSonicをお使いですか? –

+0

AFAIK、すべてのMySQLテーブルは小文字の名前を持っています。そのため、そのようなクラス名を取得しています。それについて何かできることがあるかどうかわからない、私はあなたがSubSonicでMySQLからキャメルケースを得ることができるとは思わない... –

答えて

0

私はway..Iは「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" /> 

ありがとうございました!

0

Pawelが指摘したように、WindowsとOS XではMySQLはデフォルトでテーブルに小文字の名前しか使用しません。この動作を変更するために使用できる設定オプションがあります。以下のブログ投稿には、簡単な概要を示します:

MySQL Case-sensitivity issues

関連する問題