话不多说,直接上代码

Interface Code:

public class GeneratedGui : DotNetScriptGui
{
public GeneratedGui(ZeusContext context) : base(context) {} //-----------------------------------------
// The User Interface Entry Point
//-----------------------------------------
public override void Setup()
{
// ** UNCOMMENT CODE BELOW TO SEE UI ** ui.Width = ;
ui.Height = ;
GuiLabel lblDemo = ui.AddLabel("lblDemo", "Demo", "Demo Tooltip");
GuiComboBox cbDb = ui.AddComboBox("cbDb","select the Database");
cbDb.BindData(MyMeta.Databases);
ui.ShowGui = true;
} }

Template Code:

<%
public class GeneratedTemplate : DotNetScriptTemplate
{
public GeneratedTemplate(ZeusContext context) : base(context) {} //---------------------------------------------------
// Render() is where you want to write your logic
//---------------------------------------------------
public override void Render()
{
IDatabase db = MyMeta.Databases[input["cbDb"].ToString()];
foreach(ITable tb in db.Tables)
{
OutModel(tb);
}
} public string Dtype(string dbType)
{
string dt = "";
switch(dbType)
{
case "int":
dt = "int";
break;
case "decimal":
dt = "decimal";
break;
case "datetime":
dt = "DateTime";
break;
case "float":
dt = "decimal";
break;
default:
dt = "string";
break;
} return dt;
} public void OutModel(ITable tb)
{
output.clear();
output.writeln("using System;");
output.writeln("using System.Collections.Generic;");
output.writeln("using System.Linq;");
output.writeln("using System.Text;");
output.writeln("");
output.writeln("namespace Models.Entity");
output.writeln("{");
output.writeln(" public class " + tb.Name);
output.writeln(" {");
output.writeln(" public " + tb.Name + "()");
output.writeln(" {");
output.writeln(" ");
output.writeln(" }");
output.writeln(""); foreach(IColumn c in tb.Columns)
{
output.writeln(" private " + Dtype(c.DataTypeName) + " _" + c.Name + ";");
output.writeln("");
output.writeln(" /// <summary>");
output.writeln(" /// " + c.Description + "(" + c.DataTypeName + ")");
output.writeln(" /// </summary>");
output.writeln(" public " + Dtype(c.DataTypeName) + " " + c.Name);
output.writeln(" {");
output.writeln(" get { return _" + c.Name + "; }");
output.writeln(" get { _" + c.Name + " = value; }");
output.writeln(" }");
output.writeln("");
} output.writeln(" }");
output.writeln("}");
output.save("D:\\testModel\\"+tb.Name+".cs","o");
}
}
%>

最新文章

  1. BZOJ3669 (动态树)
  2. javax/javaee-api/ Maven依赖
  3. Mongodb的Samus驱动
  4. LeetCode &quot;Design Tic-Tac-Toe&quot;
  5. jquery中attr和prop的区别(转)
  6. 替换SearchBar 键盘上的 搜索 按钮
  7. AES对称加密算法原理(转载)
  8. php类的实现
  9. 启动Tomcat出现Using CATALINA_BASE
  10. Windows服务安装方法
  11. UVAlive 3263 That Nice Euler Circuit(欧拉定理)
  12. vim插件和配置
  13. 不可小觑的Web开发编码规范
  14. C#调用WebService服务(动态调用)
  15. 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&amp;功能篇
  16. Liunx小白须知
  17. elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)
  18. 「NOI2014」购票 解题报告
  19. POI SXSSFWorkbook 读取模板 存在公式解决
  20. poj3080kmp或者暴力

热门文章

  1. Vue.js学习笔记 第六篇 内置属性
  2. INSPIRED启示录 读书笔记 - 第2章 产品管理与产品营销
  3. 【P1369】矩形(贪心)
  4. java 反射机制复习笔记。
  5. 【转】meta标签中的http-equiv属性使用介绍
  6. nodejs下载安装教程(XP版)
  7. Java中interface是否继承Object类
  8. Spring Boot 注释
  9. Codeforces 895C Square Subsets:状压dp【组合数结论】
  10. Redis主键失效 - 原理及实现机制