【问题标题】:How can I customize the generated classes in SubSonic 2.2如何在 SubSonic 2.2 中自定义生成的类
【发布时间】:2009-08-31 04:12:07
【问题描述】:

我正在为我的 DAL 使用 SubSonic 2.2。为了满足要求,我需要自定义一些由 SubSonic 生成的类。示例:

公共部分类类别:ActiveRecord、IActiveRecord、IOtherInterface

你能给我一些线索吗?我可以在哪里修改生成的模板?谢谢!

【问题讨论】:

    标签: subsonic


    【解决方案1】:

    Jim 不正确,您可以通过部分类添加接口。我将所有生成的文件保存在一个文件夹中,将更改的类文件保存在另一个文件夹中,我正在为更改的类文件添加一个接口,它工作得很好。

       public partial class ContainerSearch : IContainerSearch
    {
    }
    

    以上是我现在使用的代码示例

    【讨论】:

    • 啊,谢谢。我不知道。我以为你必须在另一个类上定义接口。
    • 这两个建议我都试过了,效果很好。由于我必须自定义类对象(即类 Category)的 Get/Set 方法,因此需要我对模板进行一些编辑。感谢大家的支持。
    【解决方案2】:

    (编辑:请参阅 runxc1 的帖子以获得更好的答案)

    您可以修改用于生成类文件的模板以添加到您的其他界面中。您不能向部分类添加接口。唯一的技巧是这会将它添加到所有生成的类中。您也可以直接进入自动生成的类,并在生成类文件后手动添加接口。

    SubSonic 2.2 模板比 3.0 模板更难使用,但修改模板仍然非常容易。

    有关信息,请参阅以下链接:

    您的选择:

    1. 修改用于生成的模板以添加到您的界面(所有类),或
    2. 修改用于生成的模板以添加 if/switches 以仅将接口添加到与特定名称等匹配的某些类,或
    3. 编辑生成的类以添加到您的界面中(必须在每次自动生成后重做编辑)

    在您修改了这些 aspx 文件之后。然后,您只需要更新 DAL 的 .config 文件以指定自定义 aspx 文件的新路径并像往常一样重新生成。

    【讨论】:

    • 非常感谢,吉姆。你的分享对我很有用。但我还有一个问题。安装 SubSonic 2.2 后我没有找到 Template 文件夹。但是我在 SS 2.1 文件夹中看到另一个 ..\SubSonic 2.1 Final\src\SubSonic\CodeGeneration\Templates 如果我使用 SS-2.1 中的模板并使用 SS-2.2 生成类仍然可以吗?
    • 我想是的。我最初在使用 2.1 时修改了我的模板,后来我升级到 2.2 并且我没有更改我的模板。 2.1 和 2.2 之间没有向后兼容性问题(据我所知没有)。
    • 谢谢吉姆,我已经尝试过使用 SS2.1 中提到的模板并进行了一些修改,现在一切都应该没问题了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 2011-12-26
    相关资源
    最近更新 更多