zoukankan      html  css  js  c++  java
  • 开发辅助工具Kalman Studio2.0发布,内置基于T4的代码生成器

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

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

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

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

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

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

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

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

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

    下面是软件主界面截图

    kalman studio2.0 ui

    更多软件截图可以参考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;} 
    		}
    		
    		<# } #>	
    	}
    }
    
  • 相关阅读:
    VINS_Fusion IMU数据处理过程
    SLIC聚类算法
    视觉SLAM十四讲(第二版)第五讲笔记
    视觉SLAM十四讲(第二版)第四讲笔记
    视觉SLAM十四讲(第二版)第三章笔记
    g++命令总结
    第二次冲刺第一天
    11月21日
    11月20日
    11月19日
  • 原文地址:https://www.cnblogs.com/lingyun_k/p/2088541.html
Copyright © 2011-2022 走看看