春节在家无聊,看见别人用的代码生成器,代码生成规范和工整,自己也写了一个基于接口的工厂模式的代码生成器.
一直偶都没有发现CSDN如何打包压缩文件.只能把部分代码共享出来. 如果需要参考所有源代码,请联系作者.
生成层的代码如下:
using
System;
using System.IO;
using System.Text;
using System.Configuration;
namespace CodeManage.Operate
... {
/**//// <summary>
/// GenerationCode 的摘要说明。
/// </summary>
public class GenerationCode
...{
protected static string DbName =ConfigurationSettings.AppSettings["DbName"];
public GenerationCode()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
/**//// <summary>
/// 生成BLL层代码
/// </summary>
生成BLL层代码#region 生成BLL层代码
public static void GenerationBllCode(string tablename)
...{
string tableinfo="";
string[] Content = new string[5];
StringBuilder strBLL = new StringBuilder();
tableinfo=GenerationAssistant.getBllTableInfo(tablename);
Content[0] =tableinfo.Substring(0,tableinfo.IndexOf(",")); //表名称
Content[1] =tableinfo.Substring(tableinfo.IndexOf(",")+1,tableinfo.Length-(tableinfo.IndexOf(",")+1)); //表中文说明
Content[2] =System.DateTime.Now.ToString(); //代码生成日期
Content[3] ="北京江河瑞通有限责任公司"; //版权信息
Content[4] =DbName; //数据库名
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/BLL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strBLL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".BLL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".BLL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".BLL/" + Content[0] + ".cs";
for (int i = 0; i < 5; i++)
...{
strBLL.Replace("$BLLkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strBLL);
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationBLLCode");
}
}
#endregion
/**//// <summary>
/// 生成DALFactory层代码
/// </summary>
生成DALFactory层代码#region 生成DALFactory层代码
public static void GenerationDALFactoryCode(string strtablename)
...{
string[] Content = new string[4];
StringBuilder strDALFactory = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
string strCreateIDAL="";
string[] TableInfo=strtablename.Split(',');
for(int j=0;j<=TableInfo.Length-1;j++)
...{
strCreateIDAL+=GenerationAssistant.getIDAL(TableInfo[j]);
}
Content[3] =strCreateIDAL;
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/DALFactory.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strDALFactory.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory/DataAccess.cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 4; i++)
...{
strDALFactory.Replace("$DALFactoryKey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strDALFactory.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationDALFactoryCode");
}
//生成DataCache代码。
StringBuilder strDataCache = new StringBuilder();
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/DataCache.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strDataCache.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory/DataCache.cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 4; i++)
...{
strDataCache.Replace("$DataCacheKey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strDataCache.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationDALFactoryCode");
}
}
#endregion
/**//// <summary>
/// 生成IDAL层代码
/// </summary>
生成IDAL层代码#region 生成IDAL层代码
public static void GenerationIDALCode(string tablename)
...{
string[] Content = new string[4];
StringBuilder strIDAL = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename;
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/IDAL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strIDAL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".IDAL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".IDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".IDAL/"+tablename+".cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 4; i++)
...{
strIDAL.Replace("$IDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strIDAL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationIDALCode");
}
}
#endregion
/**//// <summary>
/// 生成Model层代码
/// </summary>
生成Model层代码#region 生成Model层代码
public static void GenerationModelCode(string tablename)
...{
string[] Content = new string[5];
StringBuilder strModel = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename; //表名
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/Model.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strModel.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".Model") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".Model");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".Model/"+tablename+".cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
Content[4] =GenerationAssistant.getPrivateValue(tablename);
for (int i = 0; i < 5; i++)
...{
strModel.Replace("$Modelkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strModel.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationModelCode");
}
}
#endregion
/**//// <summary>
/// 生成SQLServerDAL层代码
/// </summary>
生成SQLServerDAL层代码#region 生成SQLServerDAL层代码
public static void GenerationSQLServerDALCode(string tablename)
...{
string[] Content = new string[11];
StringBuilder strSQLServerDAL = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename; //表名
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/SQLServerDAL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strSQLServerDAL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL/"+tablename+".cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
Content[4] =Operate.GenerationAssistant.GetMaxKey(tablename);
Content[5] =Operate.GenerationAssistant.GetExists(tablename);
Content[6] =Operate.GenerationAssistant.GetAdd(tablename);
Content[7] =Operate.GenerationAssistant.GetUpdate(tablename);
Content[8] =Operate.GenerationAssistant.GetDelete(tablename);
Content[9] =Operate.GenerationAssistant.GetModel(tablename);
Content[10] =Operate.GenerationAssistant.GetList(tablename);
for (int i = 0; i < 11; i++)
...{
strSQLServerDAL.Replace("$SQLServerDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strSQLServerDAL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationSQLServerDALCode");
}
//生成DbHelperSQL代码。
StringBuilder strDbHelperSQL = new StringBuilder();
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/DbHelperSQL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strDbHelperSQL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL/DbHelperSQL.cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 3; i++)
...{
strDbHelperSQL.Replace("$SQLServerDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strDbHelperSQL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationSQLServerDALCode");
}
}
#endregion
}
}
using System.IO;
using System.Text;
using System.Configuration;
namespace CodeManage.Operate
... {
/**//// <summary>
/// GenerationCode 的摘要说明。
/// </summary>
public class GenerationCode
...{
protected static string DbName =ConfigurationSettings.AppSettings["DbName"];
public GenerationCode()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
/**//// <summary>
/// 生成BLL层代码
/// </summary>
生成BLL层代码#region 生成BLL层代码
public static void GenerationBllCode(string tablename)
...{
string tableinfo="";
string[] Content = new string[5];
StringBuilder strBLL = new StringBuilder();
tableinfo=GenerationAssistant.getBllTableInfo(tablename);
Content[0] =tableinfo.Substring(0,tableinfo.IndexOf(",")); //表名称
Content[1] =tableinfo.Substring(tableinfo.IndexOf(",")+1,tableinfo.Length-(tableinfo.IndexOf(",")+1)); //表中文说明
Content[2] =System.DateTime.Now.ToString(); //代码生成日期
Content[3] ="北京江河瑞通有限责任公司"; //版权信息
Content[4] =DbName; //数据库名
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/BLL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strBLL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".BLL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".BLL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".BLL/" + Content[0] + ".cs";
for (int i = 0; i < 5; i++)
...{
strBLL.Replace("$BLLkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strBLL);
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationBLLCode");
}
}
#endregion
/**//// <summary>
/// 生成DALFactory层代码
/// </summary>
生成DALFactory层代码#region 生成DALFactory层代码
public static void GenerationDALFactoryCode(string strtablename)
...{
string[] Content = new string[4];
StringBuilder strDALFactory = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
string strCreateIDAL="";
string[] TableInfo=strtablename.Split(',');
for(int j=0;j<=TableInfo.Length-1;j++)
...{
strCreateIDAL+=GenerationAssistant.getIDAL(TableInfo[j]);
}
Content[3] =strCreateIDAL;
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/DALFactory.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strDALFactory.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory/DataAccess.cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 4; i++)
...{
strDALFactory.Replace("$DALFactoryKey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strDALFactory.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationDALFactoryCode");
}
//生成DataCache代码。
StringBuilder strDataCache = new StringBuilder();
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/DataCache.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strDataCache.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".DALFactory/DataCache.cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 4; i++)
...{
strDataCache.Replace("$DataCacheKey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strDataCache.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationDALFactoryCode");
}
}
#endregion
/**//// <summary>
/// 生成IDAL层代码
/// </summary>
生成IDAL层代码#region 生成IDAL层代码
public static void GenerationIDALCode(string tablename)
...{
string[] Content = new string[4];
StringBuilder strIDAL = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename;
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/IDAL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strIDAL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".IDAL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".IDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".IDAL/"+tablename+".cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 4; i++)
...{
strIDAL.Replace("$IDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strIDAL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationIDALCode");
}
}
#endregion
/**//// <summary>
/// 生成Model层代码
/// </summary>
生成Model层代码#region 生成Model层代码
public static void GenerationModelCode(string tablename)
...{
string[] Content = new string[5];
StringBuilder strModel = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename; //表名
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/Model.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strModel.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".Model") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".Model");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".Model/"+tablename+".cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
Content[4] =GenerationAssistant.getPrivateValue(tablename);
for (int i = 0; i < 5; i++)
...{
strModel.Replace("$Modelkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strModel.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationModelCode");
}
}
#endregion
/**//// <summary>
/// 生成SQLServerDAL层代码
/// </summary>
生成SQLServerDAL层代码#region 生成SQLServerDAL层代码
public static void GenerationSQLServerDALCode(string tablename)
...{
string[] Content = new string[11];
StringBuilder strSQLServerDAL = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename; //表名
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/SQLServerDAL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strSQLServerDAL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL/"+tablename+".cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
Content[4] =Operate.GenerationAssistant.GetMaxKey(tablename);
Content[5] =Operate.GenerationAssistant.GetExists(tablename);
Content[6] =Operate.GenerationAssistant.GetAdd(tablename);
Content[7] =Operate.GenerationAssistant.GetUpdate(tablename);
Content[8] =Operate.GenerationAssistant.GetDelete(tablename);
Content[9] =Operate.GenerationAssistant.GetModel(tablename);
Content[10] =Operate.GenerationAssistant.GetList(tablename);
for (int i = 0; i < 11; i++)
...{
strSQLServerDAL.Replace("$SQLServerDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strSQLServerDAL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationSQLServerDALCode");
}
//生成DbHelperSQL代码。
StringBuilder strDbHelperSQL = new StringBuilder();
try
...{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "/DbHelperSQL.CST",System.Text.Encoding.Default))
...{
string oneline;
while ((oneline= sr.ReadLine()) != null)
...{
strDbHelperSQL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL") == false)
...{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + "/"+DbName+".SQLServerDAL/DbHelperSQL.cs";
if (File.Exists(fname))
...{
File.Delete(fname);
}
for (int i = 0; i < 3; i++)
...{
strDbHelperSQL.Replace("$SQLServerDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
...{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strDbHelperSQL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
...{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationSQLServerDALCode");
}
}
#endregion
}
}
简单模版本文件如下(提供一个模版例子):
/
*
+
----------------------------------------
+
| 类 名称:表映射的属性信息
| 功能说明: $ Modelkey[ 3 ]属性信息
| 维护记录:Y / A
| 代码生成:代码生成器
| 联系方式:zlp@richway . cc
| 创建日期: $ Modelkey[ 0 ]
| 版权信息:版权所有 2007 $ Modelkey[ 1 ]
+ ----------------------------------------- + * /
using System ;
namespace $ Modelkey[ 2 ] . Model
{
/// < summary >
/// 实体类 $ Modelkey[ 3 ]。 ( 属性说明自动提取数据库字段的描述信息 )
/// </ summary >
public class $ Modelkey[ 3 ]
{
public $ Modelkey[ 3 ] ()
{}
# region Model
$ Modelkey[ 4 ]
# endregion Model
}
}
| 类 名称:表映射的属性信息
| 功能说明: $ Modelkey[ 3 ]属性信息
| 维护记录:Y / A
| 代码生成:代码生成器
| 联系方式:zlp@richway . cc
| 创建日期: $ Modelkey[ 0 ]
| 版权信息:版权所有 2007 $ Modelkey[ 1 ]
+ ----------------------------------------- + * /
using System ;
namespace $ Modelkey[ 2 ] . Model
{
/// < summary >
/// 实体类 $ Modelkey[ 3 ]。 ( 属性说明自动提取数据库字段的描述信息 )
/// </ summary >
public class $ Modelkey[ 3 ]
{
public $ Modelkey[ 3 ] ()
{}
# region Model
$ Modelkey[ 4 ]
# endregion Model
}
}
调用如下(生成SQLServerDAL层代码):
using
System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
namespace CodeManage
... ... {
/**//**//**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
......{
protected static string DbName =System.Configuration.ConfigurationSettings.AppSettings["DbName"];
private void Page_Load(object sender, System.EventArgs e)
......{
// 在此处放置用户代码以初始化页面
string DbName="Reservoir",tablename="Log";
string[] Content = new string[11];
StringBuilder strSQLServerDAL = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename; //表名
try
......{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "SQLServerDAL.CST",System.Text.Encoding.Default))
......{
string oneline;
while ((oneline= sr.ReadLine()) != null)
......{
strSQLServerDAL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + ""+DbName+".SQLServerDAL") == false)
......{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + ""+DbName+".SQLServerDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + ""+DbName+".SQLServerDAL est.cs";
if (File.Exists(fname))
......{
File.Delete(fname);
}
Content[4] =Operate.GenerationAssistant.GetMaxKey(tablename);
Content[5] =Operate.GenerationAssistant.GetExists(tablename);
Content[6] =Operate.GenerationAssistant.GetAdd(tablename);
Content[7] =Operate.GenerationAssistant.GetUpdate(tablename);
Content[8] =Operate.GenerationAssistant.GetDelete(tablename);
Content[9] =Operate.GenerationAssistant.GetModel(tablename);
Content[10] =Operate.GenerationAssistant.GetList(tablename);
for (int i = 0; i < 11; i++)
......{
strSQLServerDAL.Replace("$SQLServerDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
......{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strSQLServerDAL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
......{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationSQLServerDALCode");
}
}
Web 窗体设计器生成的代码Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
......{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//**//**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
......{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
namespace CodeManage
... ... {
/**//**//**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
......{
protected static string DbName =System.Configuration.ConfigurationSettings.AppSettings["DbName"];
private void Page_Load(object sender, System.EventArgs e)
......{
// 在此处放置用户代码以初始化页面
string DbName="Reservoir",tablename="Log";
string[] Content = new string[11];
StringBuilder strSQLServerDAL = new StringBuilder();
Content[0] =System.DateTime.Now.ToString(); //代码生成日期
Content[1] ="北京江河瑞通有限责任公司"; //版权信息
Content[2] =DbName; //数据库名
Content[3] =tablename; //表名
try
......{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("Templates") + "SQLServerDAL.CST",System.Text.Encoding.Default))
......{
string oneline;
while ((oneline= sr.ReadLine()) != null)
......{
strSQLServerDAL.Append(oneline+" ");
}
sr.Close();
}
if (System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + ""+DbName+".SQLServerDAL") == false)
......{
System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + ""+DbName+".SQLServerDAL");
}
string fname = System.Web.HttpContext.Current.Server.MapPath("Generation_Code") + ""+DbName+".SQLServerDAL est.cs";
if (File.Exists(fname))
......{
File.Delete(fname);
}
Content[4] =Operate.GenerationAssistant.GetMaxKey(tablename);
Content[5] =Operate.GenerationAssistant.GetExists(tablename);
Content[6] =Operate.GenerationAssistant.GetAdd(tablename);
Content[7] =Operate.GenerationAssistant.GetUpdate(tablename);
Content[8] =Operate.GenerationAssistant.GetDelete(tablename);
Content[9] =Operate.GenerationAssistant.GetModel(tablename);
Content[10] =Operate.GenerationAssistant.GetList(tablename);
for (int i = 0; i < 11; i++)
......{
strSQLServerDAL.Replace("$SQLServerDALkey[" + i + "]", Content[i]);
}
FileInfo finfo = new FileInfo(fname);
using (FileStream fs = finfo.OpenWrite())
......{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(strSQLServerDAL.ToString());
sw.Flush();
sw.Close();
}
}
catch (Exception err)
......{
Operate.GenerationLog.exNoteBugsToLogTxt(err,"GenerationCode.GenerationSQLServerDALCode");
}
}
Web 窗体设计器生成的代码Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
......{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//**//**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
......{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}