【问题标题】:Need help re-creating Subsonic 2.2 / SubCommander generated table and column names需要帮助重新创建 Subsonic 2.2 / SubCommander 生成的表和列名称
【发布时间】:2011-07-03 00:50:12
【问题描述】:

我正在编写一些代码生成模板,这些模板将与 SubSonic 2.2 / SubCommander 生成的类/程序集协同工作。我遇到的问题是 SubSonic 正在使用一些漂亮的魔法来规范化表和列名,将它们单数化,提取无关字符等。

我生成的类(必须)直接从数据库模式中提取表名和列名,您可以想象它们与 subsonic 生成的“漂亮”名称不匹配。所以我尝试使用 Subsonic.Utilites 类、singularize、ToProper 等的几种组合...但我似乎找不到与 subcommander 输出相匹配的正确组合。

我能够获得一份 SubCommander 2.0 源代码的副本并查看了那里,但我没有找到名称规范化发生的地方。有人可以帮我找到 subcommander 用来生成表名和列名的实用方法的正确组合吗?

如果有什么不同,我没有在我的 app.config 中的 subcommander 端使用任何特殊的“开关”用于 subsonic,除了 fixPluralClassNames="true"。

【问题讨论】:

    标签: .net sql-server subsonic


    【解决方案1】:

    看看TableSchema.cs,你可能对以下两项感兴趣

    1. TableColumn类中ColumnName的setter,调用TransformPropertyName

    2. AbstractTableShema 类中TableName 的setter,调用TransformClassName

    还有一些其他调用可以规范化 FK 和关系,但上面的这两个应该让您的类/属性名称与 SubSonic 匹配。

    【讨论】:

    • 谢谢 Zachary,这对我帮助很大!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    相关资源
    最近更新 更多