最初开发该软件的目标是做成一个开发辅助工具来提高工作效率,代码生成器只是作为其中的一个功能,以前发布过该软件的一个粗糙的版本,bug有不少,现在系统的整理了一下,修改了不少bug,这次最大的改动就是将原来代码生成器通过SMO取SQL Server元数据信息改成了使用系统存储过程,重写了SqlServerSchemaProvider模块,并重构了批量代码生成界面本软件主要功能如下:

1、基于T4的代码生成工具,根据数据库元数据信息生成代码,支持多数据库,支持批量代码生成

2、支持根据PowerDesigner物理模型文件来生成代码,这也是该软件的最大亮点,为此专门花了一天时间写了个PDM文件解析模块

3、内置了一个简单的文本编辑器,支持代码高亮显示

4、数据库元数据信息浏览工具

5、数据库文档生成工具,支持输出word及pdf文件格式

6、IIS日志解析器,小网站可以用用

7、其他工具,字符串相关操作等

下载地址:http://files.cnblogs.com/lingyun_k/Kalman.Studio2.0.rar

下面是软件主界面截图

更多软件截图可以参考http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html

数据库链接字符串配置示例

<?xml version="1.0" encoding="utf-8" ?>
<configuration><configSections></configSections><connectionStrings><clear/><add name="Localhost" connectionString="Data Source=.;Integrated Security=SSPI;Persist Security Info=False;" /><add name="MySql_Local" connectionString="Server=127.0.0.1;Database=test;Uid=root;Pwd=123456;" providerName="MySql.Data.MySqlClient"/><add name="SQLite" connectionString="Data Source=F:\data\sqlite3\testdb.s3db;Version=3;" providerName="System.Data.SQLite"/></connectionStrings><system.data><DbProviderFactories><clear/><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /><add name="MySqlClient Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySql" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /><add name="DB2 Data Provider" invariant="IBM.Data.DB2" description=".Net Framework Data Provider for DB2" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2" /></DbProviderFactories></system.data>
</configuration>

一个实体模板的编写示例

<#@ template language="C#v3.5" hostSpecific="true" debug="true" #>
<#@ output extension=".cs" #>
<# TableHost host = (TableHost)(Host); SOTable table = host.Table;List<SOColumn> list = host.ColumnList;string nameSpace = host.GetString("NameSpace");string className = host.GetString("ClassName");if(string.IsNullOrEmpty(nameSpace))nameSpace = "Entity";if(string.IsNullOrEmpty(className))className = table.Name;
#>
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;namespace <#= nameSpace #>
{/// <summary>/// <#= table.Comment == "" ? table.Name : table.Comment.Replace("\r\n"," ") #>/// </summary>[Serializable]public partial class <#= className #>{<# foreach (SOColumn c in list){ string cname = c.Name;#>private <#= TypeUtil.DbType2TypeString(c.DataType) #> <#= "_"+cname #>;/// <summary>/// <#= c.Comment == "" ? c.Name : c.Comment.Replace("\r\n"," ") #>/// </summary>public <#= TypeUtil.DbType2TypeString(c.DataType) #> <#= cname #> { get{ return <#= "_"+cname #>;}set{ <#= "_"+cname #> = value;} }<# } #>   }
}

转载于:https://www.cnblogs.com/lingyun_k/archive/2011/06/23/2088541.html

开发辅助工具Kalman Studio2.0发布,内置基于T4的代码生成器相关推荐

  1. Android开发周报:Android Studio2.0发布、Activity动态创建

    新闻 <Android Studio 2.0发布 增加代码热更新功能>:在近日的Android开发者大会中,Google高调发布了Android Studio 2.0.然而就在不到一周之前 ...

  2. Java服务端和客户端开发辅助工具Utils

    包括了各种工具类.辅助类.管理类等 Awesome_API: https://github.com/marktony/Awesome_API/blob/master/Chinese.md 收集中国国内 ...

  3. Android开发辅助工具类 Utils

    包括了各种工具类.辅助类.管理类等    都可以 在Git  里找到代码 来研究,深入 Awesome_API: https://github.com/marktony/Awesome_API/blo ...

  4. Android开发辅助工具类 Utils 汇总

    包括了各种工具类.辅助类.管理类等 Awesome_API: https://github.com/marktony/Awesome_API/blob/master/Chinese.md 收集中国国内 ...

  5. Draft-微软出品的云原生下的本地开发辅助工具

    一.介绍 Draft是微软Deis团队开源的一个用Go语言编写的容器应用开发辅助工具,用于帮助开发人员简化容器应用程序构建和部署的开发流程.Draft的设计思路在于,允许开发人员在不了Docker和K ...

  6. 11个程序员必备简捷开发辅助工具

    程序员必备简捷开发辅助工具总结 写在前面: 工欲善其事必先利其器,拥有简捷的开发辅助工具能大大提高我们程序猿的开发效率.Melo刚到学校就给大家总结了一些常用的辅助开发的工具,希望大家能喜欢,闲话不多 ...

  7. laravel 开发辅助工具

    laravel 开发辅助工具 配置 添加服务提供商 将下面这行添加至 config/app.php 文件 providers 数组中: 'providers' => [...App\Plugin ...

  8. 4类程序员直呼好用的嵌入式开发辅助工具

    俗话说工欲善其事必先利其器.有了好的开发辅助工具的开发人员就像开了外挂,事半功倍. 下面将会按照不同功能给大家介绍几种身边程序员们力荐好用的开发辅助工具 一.常见硬件芯片 想要开发一款嵌入式产品,首先 ...

  9. Shellcode开发辅助工具shellnoob

    Shellcode开发辅助工具shellnoob Shellcode开发的过程中会遇到很多繁杂的工作,如编译.反编译.调试等.为了减少这部分工作,Kali Linux提供了开发辅助工具shellnoo ...

最新文章

  1. 硬盘IO,SAS,SATA,和HD TUNE
  2. python输出n阶矩阵_python-递归计算矩阵(nxn)的行列式
  3. 《C++标准程序库》读书笔记(三)
  4. 文件夹获取管理员权限脚本
  5. VTK:几何对象之OpenVRCone
  6. 字节输出流_OutputStream类FileOutputStream类介绍
  7. 基础拾遗------泛型详解
  8. javascript如何处理很多数据,类似分页切换
  9. 东哥读书小记 之 《MacTalk人生元编程》
  10. HDU3544 不平等博弈
  11. mysql未监控在3306_监控MySQL或Web服务是否正常
  12. HTML动态时间代码
  13. 0723数组复习 堆区 动态数组
  14. 跨平台APP开发心路历程
  15. 又一个好用的xbox360手柄驱动
  16. android源生获取经纬度,Android获取GPS经纬度
  17. Mac设计的必备设计软件,看看你还差什么
  18. 本科学位计算机要考吗,本科毕业需要考计算机二级吗
  19. thinkpad x250装黑苹果教程_[黑苹果]x250 黑苹果历险记
  20. C#三点法计算圆心坐标和圆半径

热门文章

  1. c语言基础练习题 字符串输入scanf/gets 字符串赋值、比大小
  2. criteria函数_干货铺 | 二级MS office考试中一些常考函数(2)
  3. python bar图_python使用matplotlib绘图 — barChart | 学步园
  4. sap 一代增强_在SAP故乡,感受“边缘智能”之变
  5. I/0口输入输出实验 学习IO口的位操作方法,分别选择P0、P1、P2、P3端口中的某一位,该位作为输出使用,连接一只发光二极管,控制器闪烁。
  6. Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解
  7. python n个人围成一圈,Python练习代码实例69-有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的...
  8. pcl使用通道滤波器来滤波
  9. linux安装网卡驱动tgz,Linux安装网卡驱动
  10. python docker_Docker实践:python应用容器化