开发辅助工具Kalman Studio2.0发布,内置基于T4的代码生成器
最初開發該軟件的目標是做成一個開發輔助工具來提高工作效率,代碼生成器只是作為其中的一個功能,以前發布過該軟件的一個粗糙的版本,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的代码生成器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【英语天天读】Man's Youth
- 下一篇: 继续更新,关于MFC琐碎思索