代码生成器(一)(基于接口的工厂模式的三层架构)
来源:互联网 发布:商业网站的域名 编辑:程序博客网 时间:2024/04/28 11:38
春节在家无聊,看见别人用的代码生成器,代码生成规范和工整,自己也写了一个基于接口的工厂模式的代码生成器.
一直偶都没有发现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
}
}
- 代码生成器(一)(基于接口的工厂模式的三层架构)
- 基于接口的工厂模式的三层架构
- 基于工厂模式的三层架构
- 基于工厂模式的三层架构
- 基于工厂模式的三层架构
- 用动软代码生成器2.41将批量生成的代码部署到已有项目详细教程(基于抽象工厂模式的三层架构)
- 用动软代码生成器2.41将批量生成的代码部署到已有项目详细教程(基于抽象工厂模式的三层架构)
- 用动软代码生成器2.41将批量生成的代码部署到已有项目详细教程(基于抽象工厂模式的三层架构)
- 用动软代码生成器2.41将批量生成的代码部署到已有项目详细教程(基于抽象工厂模式的三层架构)
- 动软代码生成器2.41将批量生成的代码部署到已有项目详细教程(基于抽象工厂模式的三层架构)
- 基于接口(工厂模式)三层架构的引用和访问流程
- 面向接口编程在Java web 三层架构的应用与使用工厂模式解决问题
- asp.net mvc中自行搭建实现工厂模式的spring.net+三层架构(一)
- 基于Nhibernate的三层架构
- 基于三层架构的MVC模式应用示例源码
- 基于三层架构的MVC模式应用示例源码
- 基于三层架构的MVC模式应用示例源码
- 初试三层+抽象工厂代码生成器
- Squirrel 汉化方法
- MS SQL的存储过程可以调试吗
- 向东的BLOG
- EDIT下划线
- 自己写的一个基于web的java树形构件(附效果图)
- 代码生成器(一)(基于接口的工厂模式的三层架构)
- Java基础知识——Java入门与加深
- 今天遇到的一个函数指针的问题
- 李阳培养意志力的十种方法
- 内存大于1GB导致休眠失败
- 教师资格考试练习题
- 右左法则----复杂指针解析
- 江苏城市对应的国家
- asp操作excel文件