代码生成器ltscode2.1

  该版本是对以前版本的升级,使用方法没有改变。具体使用方法参见:http://www.cnblogs.com/lts8989/archive/2010/01/28/1658763.html

  这个版本的模板数增至6个,分别为BLL、Factory、IDAL、Model、SQLServerDAL、proc,严格按照petshop的分层结构生成代码。如果各位网友想修改模板,方法较以前略有不同。

  修改模板的方法

  以BLL层为例介绍,每个模板对应一个DLL文件BLL.dll文件中包含两个函数如下:

 

代码
   
     
using System;
using System.Collections.Generic;
using System.Text;
using ltsmodel;
using LtsBll;
using System.Data;
using System.IO;
namespace BLL
{
public class BLL
{

/// <summary>
/// 将单个表生成
/// </summary>
/// <param name="tableName"> 表名 </param>
public string CreateCode( string tableName)
{
string StrReturn = Tools.CreateCodeByXml(tableName, " BLL.xsl " );
List
< Ltsmodel > txtmodel = Tools.GetDbToCS();
txtmodel
= Tools.GetDbToCS();

StrReturn
= Tools.StringReplace(StrReturn, txtmodel);
StrReturn
= StrReturn.Remove( 0 , StrReturn.IndexOf( " <?xml version=\ " 1.0 \ " encoding=\ " utf - 8 \ " ?> " ) + " <?xml version=\ " 1.0 \ " encoding=\ " utf - 8 \ " ?> " .Length);
return StrReturn;
}

/// <summary>
/// 生成所有表
/// </summary>
/// <param name="dir"> 输出目录的路径 </param>
/// <returns> 错误信息,如果成功返回success </returns>
public string CreateAllTableCode( string dir)
{
List
< string > listAllTable = LtscodeBll.GetAllTable();
foreach ( string tablename in listAllTable)
{
string codestr = CreateCode(tablename);
FileStream objFileStream
= new FileStream(dir + tablename + " BLL.cs " , FileMode.Create, FileAccess.Write);
StreamWriter objStreamWriter
= new StreamWriter(objFileStream);
objStreamWriter.Write(codestr);
objStreamWriter.Close();
}
return " success " ;
}
}
}

   在软件界面中左边树右键选择模板后执行的是CreateCode函数,点击“输出所有代码至文件夹”按钮执行的是每个模板的CreateAllTableCode函数。

  希望大家能编写出更多适合自己的模板。

源码:ltscode_src.rar

可执行文件:ltscode_Release.rar

你可能感兴趣的:(code)