代码生成器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

posted @ 2010-06-29 10:07  lts8989  阅读(1324)  评论(7编辑  收藏  举报