我的MyGeneration
话不多说,直接上代码
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");
}
}
%>
我的MyGeneration的更多相关文章
- 代码生成的地址:mygeneration
一个代码生成的地址: https://gitshell.com/shiningrise/mygeneration/
- MyGeneration 数据库驱动为空
重做系统后安装了MyGeneration 但是安装完成后发现驱动中没有驱动信息,查了下网上的解决方案发下下面的可以完美解决,特作备忘: The problem is because of multi ...
- myGeneration代码生成器
转自:http://www.cnblogs.com/leitwolf/archive/2007/07/27/833255.html http://blog.csdn.net/happyhippy/ar ...
- MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)
MyGeneration的几个NHibernate模板功能已经很强,但还是存在些问题.例如:Guid主键支持不佳,代码不易修改,不支持中文注释等等.所以我决定自己来改写此模版.我把一部分通用的函数提取 ...
- 用MyGeneration模板生成NHibernate映射文件和关系
用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many) MyGeneration的几个NHibernate模 ...
- 强大的代码生成工具MyGeneration
强大的代码生成工具MyGeneration 转 MyGeneration是一个功能很强大的代码生成工具.通过编写包含各种类型脚本(C#,VB.Net,JScript,VBScript)的模板,通过数据 ...
- 代码自动生成工具MyGeneration之一(程序员必备工具)
代码自动生成工具MyGeneration之一(程序员必备工具) 转 分类: C#2008-08-06 18:12 16064人阅读 评论(12) 收藏 举报 工具数据库相关数据库stringbrows ...
- MyGeneration 默认设置中没有数据库驱动
这 个问题的出现基本上是因为MyGeneration 1.3需要的是 .Net framework 4.0,如果系统安装了 .Net 2.0的版本,安装程序执行的 regasm.exe为2.0版本下的 ...
- MyGeneration使用概述
1.首先要连接数据库,第一次启动myG的时候会弹出default settings对话框,以后也可以在Edit-default settings里面修改.default settings有3个tabs ...
- 开发.Net Script 模板-MyGeneration (翻译)
原文信息 原文地址 原文作者信息 Justin Greenwood MyGeneration Software http://www.mygenerationsoftware.com/ October ...
随机推荐
- iOS面试必备-iOS基础知识
近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内 ...
- [RK3288][Android6.0] 调试笔记 --- user版本默认显示开发者选项【转】
本文转载自:https://blog.csdn.net/kris_fei/article/details/70157137 Platform: ROCKCHIPOS: Android 6.0Kerne ...
- centos7 下安装eclipse
1 在下面路径下载 eclipse-jee-neon-2-linux-gtk-x86_64.tar.gzhttp://eclipse.stu.edu.tw/technology/epp/downloa ...
- Struts的url-pattern配置问题
一,servlet容器对url的匹配过程: 当一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是http://loca ...
- Luogu-4022 [CTSC2012]熟悉的文章
广义后缀自动机+DP 对于作文库建出广义后缀自动机,广义自动机就是在每次添加一个字符串之前把\(last=0\),然后正常添加就好了 对于每个询问串,预处理出每个位置\(i\)能向前匹配的最长长度\( ...
- YARN中的失败分析
YARN中的失败分析 对于在YARN中运行的MapReduce程序,需要考虑以下几种实体的失败任务.application master.节点管理器.资源管理器 1. 任务运行失败 任务运行失败类似于 ...
- 【转载】postgreSQL在linux中安装详解
.编译环境 Linux: CentOS 5.5 gcc: 4.1.2 1. 安装PostgreSQL 1) 解压postgresql-9.1.7.tar.bz2 #tar jxvf postgresq ...
- Spark- 共享变量
Shared Variables Normally, when a function passed to a Spark operation (such as map or reduce) is ex ...
- Memcache简介 & 内存分配机制
关于这个东西里面到底应该存放数据网上一直有很多种说法,有的说sql进行md5之后作为键值,结果作为内容存放,也有人说按照业务逻辑错放,反正是炒的不亦乐乎. 本人经过将近2 ...
- Windows 10 SDK 10.0.10069 : The installer failed. User cancelled installation. Error code: -2147023294
注* 请先跳到文章后面的配置“操作系统的区域设置”部分,然后尝试重试安装VS,如果仍然失败,请看下面内容. 安装UAP SDK失败 Visual Studio 2015 RC Community 安装 ...