zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    elementui el-upload弹框确定是否上传文件 需要在上传文件前,可以进行弹窗控制是否上传 upload
    postman 下载地址
    axios 详解
    jQuery点击按钮 切换样式
    基于Vant框架的下拉刷新和上滑加载
    Core Animation一些Demo总结 (动态切换图片、大转盘、图片折叠、进度条等动画效果)
    鼠标悬停显示隐藏省略文字
    遮罩层
    二维码网站
    看图说话
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/2808049.html
Copyright © 2011-2022 走看看