我的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 ...
随机推荐
- Deep Learning概述
1.深度学习发展简史 2.三步实现深度学习 2.1Neural Network 神经网络由模仿脑部神经系统发展而来,一个节点称为一个“Neuron”,包括连接在节点上面的weights和biases. ...
- ubuntu关闭631(cups)端口
在ubuntu17.04环境下使用nmap扫描自己机器,发现631端口处于开启状态,将其输入到浏览器,可以看出是网络打印机的服务: 这个端口开着总是那么的刺眼,(5.12全球爆发的勒索病毒让人不寒而栗 ...
- Java 重写equals()与hashCode()方法
List对象的contains方法实际上也是调用的equals()方法来进行逐条对比的. 示例代码: package com.imooc.collection; /** * 课程类 */ public ...
- python安装包
1. python常用包下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy numpy包下载地址:https://pypi.python.org ...
- 【bzoj5055】膜法师(离散化+树状数组)
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=5055 这道题……不得不说,从标题到题面都能看出一股浓浓的膜法气息……苟…… 题意就是统计顺序 ...
- java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\x88\xE6\x88...' for column 'content' at row 1
往MySQL插入数据时,报错如下 java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQL ...
- Use default arguments instead of short circuiting or conditionals使用默认实参代替短路和条件
- js装饰者模式
装饰者模式是为已有的功能动态地添加更多功能的一种方式.当系统需要新功能的时候,是向旧的类中添加新的代码.这些新加的代码通常装饰了原有类的核心职责或主要行为,在主类中加入了新的字段,新的方法和新的逻辑, ...
- spring boot: 线程池ThreadPoolTaskExecutor, 多线程
由于项目里需要用到线程池来提高处理速度,记录一下spring的taskExecutor执行器来实现线程池. ThreadPoolTaskExecutor的配置在网上找了很多解释没找到,看了下Threa ...
- Spring boot临时文件目录报错
基本的错误信息如下: 2018-03-05 at 15:12:03 CST ERROR org.apache.juli.logging.DirectJDKLog 181 log - Servlet.s ...