资源简介
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#读写内存
- 下一篇:使用C#Hook实现的屏幕放大镜
相关资源
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
- C#指纹识别系统程序 报告
- c# 高校档案信息管理系统
- c#向word文件插入图片
- C#左侧导航菜单(动态生成)
- C#TCP 通信(TCP发送16进制)
- C# sql实现批量导入数据到数据库
评论
共有 条评论