资源简介
C#三层架构代码生成器【完美缩进】【优化版】
之前上传了一个代码生成器,没想到下载量还挺大的,所以这次做了一些小优化,主要是给代码加了更多注释,并进行了一定的整理,界面也做了些调整,另外附上了DAL层代码中用到类SqlHelper,让大家使用或阅读起来更方便~
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.IO;
namespace CodeGenerator
{
///
/// 代码生成器类
///
class Generator
{
#region 定义
///
/// 查询指定表的所有列信息SQL语句
///
private readonly static string SELECT_COLS_BY_TABLE = “select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@tableName“;
#endregion
#region 公开方法
///
/// 执行SQL语句返回DataTable
///
///
///
///
///
public static DataTable ExecuteDataTable(string connStr string sqlStr params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sqlStr;
cmd.Parameters.AddRange(parameters);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
}
}
}
///
/// 生成指定数据库表对应的Model代码
///
/// 数据库表名
///
public static void GenerateModel(string tableName GeneratorArgs args)
{
// 获取指定表的所有字段信息
DataTable dtCols = ExecuteDataTable(args.ConnStr SELECT_COLS_BY_TABLE new SqlParameter(“tableName“ tableName));
// 用于保存需要生成的代码
StringBuilder sb = new StringBuilder();
#region 生成类文件头部内容
sb.AppendLine(“using System;“);
sb.AppendLine(“using System.Collections.Generic;“);
sb.AppendLine(“using System.Linq;“);
sb.AppendLine(“using System.Text;“ + “\r\n“);
sb.AppendLine(“namespace “ + args.Namespace + “.Model“);
sb.AppendLine(“{“);
sb.AppendLine(“\t“ + “public partial class “ + tableName);
sb.AppendLine(“\t“ + “{“);
#endregion
#region 生成Model中的各属性
foreach (DataRow row in dtCols.Rows)
{
string colName = Convert.ToString(row[“Column_Name“]);
string dataType = Convert.ToString(row[“Data_Type“]);
// 获取数据类型
Type dotnetType = GetTypeByDBType(dataType);
#region 处理可空类型
string dotnetTypeName;
if (dotnetType.IsValueType)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-08-08 13:46 CodeGenerator【代码优化版】\
目录 0 2013-08-08 13:46 CodeGenerator【代码优化版】\CodeGenerator\
目录 0 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\
文件 929 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator.sln
文件 22528 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator.suo
目录 0 2013-08-08 11:41 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\bin\
目录 0 2013-08-08 12:47 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\bin\Debug\
文件 24064 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\bin\Debug\CodeGenerator.exe
文件 38400 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\bin\Debug\CodeGenerator.pdb
文件 14328 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\bin\Debug\CodeGenerator.vshost.exe
文件 3836 2013-08-08 12:41 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\CodeGenerator.csproj
文件 168 2013-08-08 12:41 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\CodeGenerator.csproj.user
文件 17034 2013-08-08 13:09 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\Generator.cs
文件 817 2013-08-08 11:54 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\GeneratorArgs.cs
文件 3537 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\MainForm.cs
文件 12759 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\MainForm.Designer.cs
文件 6016 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\MainForm.resx
目录 0 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\
目录 0 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\
文件 1907 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\CodeGenerator.csproj.FileListAbsolute.txt
文件 850 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\CodeGenerator.csproj.GenerateResource.Cache
文件 24064 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\CodeGenerator.exe
文件 180 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\CodeGenerator.MainForm.resources
文件 38400 2013-08-08 13:33 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\CodeGenerator.pdb
文件 180 2013-08-08 12:41 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\CodeGenerator.Properties.Resources.resources
目录 0 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\Refactor\
目录 0 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\obj\Debug\TempPE\
文件 497 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\Program.cs
目录 0 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\Properties\
文件 1382 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\Properties\AssemblyInfo.cs
文件 2876 2013-03-12 11:45 CodeGenerator【代码优化版】\CodeGenerator\CodeGenerator\Properties\Resources.Designer.cs
............此处省略5个文件信息
- 上一篇:C#通过窗口名获取程序所有控件句柄
- 下一篇:ASP.NETc#-学生选课系统
相关资源
- C#通过窗口名获取程序所有控件句柄
- C#封装MySql数据库操作,反射动态生成
- 俄罗斯方块-C#
- 简单人事管理系统
- C#+SQL Server的简单银行管理系统
- C#图书管理系统增 删 改 查 功能都有
- C# 考试管理系统
- c#实现K均值聚类算法,使用mysql数据库
- ArcEngine+C#缓冲区分析(GP工具+ITopolo
- C#版protobuf如何实现http方式二进制传输
- c# 制作的加强型音乐播放器实现了音
- C#版海康客户端API封装
- C#绘制实时曲线,可放大局部图像
- c#读取txt文档中的代码源程序
- C#从现象到本质,随书源码。
- 简易的答题系统
- PCA主成分分析winform实现
- C# Winform Sockets收发Json样例
- C#串口通信工具源代码
- 自写C#蜘蛛爬虫源代码
- USB检测,移除|UsbEject
- 基于ASP.NET SQL2008的在线考试系统源代
- C#.kgtemp转换.mp3文件源码请勿商用
- C#校园卡信息管理系统
- ASP.NET C# 教师工作量管理系统 代码 论
- 基于c#的层次分析法
- C#实现歌词显示.LRC歌词
- C# 层次分析法
- 8 基于两步移动搜索法的可达性分析
- 基于MapX的二次开发
评论
共有 条评论