• codesmith引用多个模板生成代码


    <%--
    Name:
    Author:
    Description:
    --%>
    <%@ CodeTemplate Language="C#" TargetLanguage="Text" Src="" Inherits="" Debug="False" CompilerVersion="v3.5" Description="Template description here." %>
    <%@ Register Name="EntityTemplate" Template="entity.cst" %>
    <%@ Register Name="DAOTemplate" Template="dao.cst" %>
    <%@ Register Name="BOTemplate" Template="bo.cst" %>
    <%@ Property Name="Namespace" Type="System.String" Default="Beyondbit.App" Optional="True" Category="Strings" Description="This is a sample string property." %>
    <%@ Assembly Name="SchemaExplorer" %>
    <%@ Property Name="SourceTables" Type="SchemaExplorer.TableSchemaCollection" Optional="False" Category="Required"%>

    <%--= SampleStringProperty --%>
    <% Start(); %>


    <script runat="template">

    public void GenerateEntity(SchemaExplorer.TableSchema table, EntityTemplate template) {
    template.SourceTable = table;
    template.NameSpace = Namespace + ".Entity";
    template.RenderToFile(".\\" + template.NameSpace + "\\" + table.Name + ".cs", true);
    }

    public void GenerateDAO(SchemaExplorer.TableSchema table, DAOTemplate template) {
    template.SourceTable = table;
    template.NameSpace = Namespace + ".DAO";
    template.RenderToFile(".\\" + template.NameSpace + "\\DAO" + table.Name + ".cs", true);
    }

    public void GenerateBO(SchemaExplorer.TableSchema table, BOTemplate template) {
    template.SourceTable = table;
    template.NameSpace = Namespace + ".BO";
    template.RenderToFile(".\\" + template.NameSpace + "\\BO" + table.Name + ".cs", true);
    }

    public void Start() {
    EntityTemplate tmpEntity = this.Create<EntityTemplate>();
    DAOTemplate tmpDAO = this.Create<DAOTemplate>();
    BOTemplate tmpBO = this.Create<BOTemplate>();
    foreach (SchemaExplorer.TableSchema t in SourceTables){
    GenerateEntity(t, tmpEntity);
    GenerateDAO(t, tmpDAO);
    GenerateBO(t, tmpBO);
    }
    }
    </script>

  • 相关阅读:
    mac下更改MySQL的默认编码
    pycharm使用gitlab输错密码解决办法
    Django中form组件的is_valid校验机制
    装饰器整理
    粘包
    MySQL常见数据库引擎及对比
    jtag、在线仿真器
    《如何高效学习》-整体性学习策略
    keil5到iar8的使用配置迁移
    Python3学习(1)——初步了解
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/2808049.html
Copyright © 2020-2023  润新知