Appenwith和

时间:2009-06-03 06:12:49

标签: subsonic

我公司的MySql数据库充斥着名为“system”的字段,因此SubSonic生成的代码与.NET System命名空间发生冲突。

我理解AppendWith将一个字符附加到它标识为与保留字冲突的字段中,但在我的情况下它似乎没有做任何事情。有没有办法查看/更新它知道的保留字列表?

2 个答案:

答案 0 :(得分:3)

这里的问题相同: AppendWith仅适用于保留关键字(例如public等),不适用于名称空间。

这就是我解决问题的方法(查看regexDictionaryReplace条目)

  <add name="MyDataProvider"
       type="SubSonic.MySqlInnoDBDataProvider, SubSonic"
       connectionStringName="myConnectionString"
       generateLazyLoads="true"
       regexDictionaryReplace="[sS]ystem,SystemX;[tT]able[nN]ame,TableNameX"
       fixPluralClassNames="false"
       generatedNamespace="My.NameSpace"
       removeUnderscores="false"
       generateNullableProperties="false"
       generatePropertyChangedEventHandler="true"
       generateRelatedTablesAsProperties="true"
       excludeTableList="audit"
       tableBaseClass="ActiveRecord" />

答案 1 :(得分:1)

您可以尝试使用“stripTableText”将“system”替换为“”。有很多方法可以做到这一点,它甚至可以根据需要使用正则表达式 - 看看: http://subsonicproject.com/configuration/config-options/