资源简介
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# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论