2011-02-23 31 views
0

我正在寫一些代碼生成模板,它們將與SubSonic 2.2/SubCommander生成的類/程序集一起工作。我遇到的問題是SubSonic正在使用一些美麗的魔法來規範化表格和列名稱,單列化它們,拔出無關字符等。需要幫助重新創建Subsonic 2.2/SubCommander生成的表和列名稱

我生成的類(必須)直接從數據庫模式,你可以想象它們不匹配subsonic生成的「漂亮」名字。所以我試圖使用Subsonic.Utilites類,singularize,ToProper等的幾種組合......但我似乎無法找到正確的組合來匹配subcommander輸出的內容。

我能夠得到一個SubCommander 2.0源代碼的副本,並通過那裏看看,但我沒有運氣在名稱正常化發生的地方。有人能幫我找到子公司用來生成表名和列名的實用方法的正確組合嗎?

如果它有什麼區別,我不會在subcommander端的app.config中爲subsonic使用任何特殊的「開關」,除了fixPluralClassNames =「true」。

回答

1

看看TableSchema.cs,你可能感興趣的是以下兩個項目

  1. 在TableColumn中類的ColumnName的制定者,這在AbstractTableShema類調用TransformPropertyName

  2. 的制定者表名,其中調用TransformClassName

還有一些其他調用規範FK和關係,但th上面兩個應該讓你的類/屬性名稱匹配SubSonic。

+0

謝謝Zachary,這對我非常有幫助! – Blax 2011-03-23 20:46:25