[C#]一步一步开发自己的自动代码生成工具之二:SQLServer字段与C#变量的对应转化
2008-07-15 17:34
1061 查看
第二步:数据表的预处理
/// /// 根据变量类型获取从数据库字段转换到该类型的转换语句 /// /// private static void InitConvertMethod(FieldModel Field) { switch (Field.VarType) { case "string": Field.ToVarConvertMethod = "Convert.ToString"; break; case "int": Field.ToVarConvertMethod = "Convert.ToInt32"; break; case "DateTime": Field.ToVarConvertMethod = "Convert.ToDateTime"; break; case "bool": Field.ToVarConvertMethod = "Convert.ToBoolean"; break; case "float": Field.ToVarConvertMethod = "Convert.ToSingle"; break; case "decimal": Field.ToVarConvertMethod = "Convert.ToDecimal"; break; case "byte[]": Field.ToVarConvertMethod = "(byte[])"; break; case "money": Field.ToVarConvertMethod = "Convert.ToDecimal"; break; default: throw new Exception(string.Format("变量类型({0})的转换方法未定义!", Field.VarType)); } } /// /// 初始化数据库实体类属性默认值 /// /// 数据库实体类属性 private static void InitDefaultVarValue(FieldModel Field) { switch (Field.DbType) { case "char": Field.DefaultValueVar = "String.Empty"; break; case "nchar": Field.DefaultValueVar = "String.Empty"; break; case "varchar": Field.DefaultValueVar = "String.Empty"; break; case "nvarchar": Field.DefaultValueVar = "String.Empty"; break; case "text": Field.DefaultValueVar = "String.Empty"; break; case "ntext": Field.DefaultValueVar = "String.Empty"; break; case "int": Field.DefaultValueVar = "0"; break; case "bit": Field.DefaultValueVar = "false"; break; case "datetime": Field.DefaultValueVar = "DateTime.MinValue"; break; case "float": Field.DefaultValueVar = "0"; break; case "decimal": Field.DefaultValueVar = "0"; break; case "image": Field.DefaultValueVar = "null"; break; case "money": Field.DefaultValueVar = "0"; break; default: throw new Exception(string.Format("数据库字段类型({0})未定义!", Field.DbType)); } } /// /// 获得数据访问参数的类型 /// /// /// private static string GetSqlParamTypeFromSqlDbType(string DbType) { switch (DbType.ToLower()) { case "char": return "SqlDbType.Char"; case "nchar": return "SqlDbType.NChar"; case "varchar": return "SqlDbType.VarChar"; case "nvarchar": return "SqlDbType.NVarChar"; case "text": return "SqlDbType.Text"; case "ntext": return "SqlDbType.NText"; case "int": return "SqlDbType.Int"; case "bit": return "SqlDbType.Bit"; case "datetime": return "SqlDbType.DateTime"; case "float": return "SqlDbType.Float"; case "image": return "SqlDbType.Image"; case "decimal": return "SqlDbType.Decimal"; case "money": return "SqlDbType.Money"; default: throw new Exception(string.Format("数据库字段类型({0})未定义!", DbType)); } } /// /// 获得属性变量类型 /// /// /// private static string GetVarTypeFromSqlDbType(string DbType) { switch (DbType.ToLower()) { case "char": return "string"; case "nchar": return "string"; case "varchar": return "string"; case "nvarchar": return "string"; case "text": return "string"; case "ntext": return "string"; case "int": return "int"; case "bit": return "bool"; case "datetime": return "DateTime"; case "float": return "float"; case "image": return "byte[]"; case "decimal": return "decimal"; case "money": return "decimal"; default: throw new Exception(string.Format("数据库字段类型({0})未定义!", DbType)); } }
相关文章推荐
- [C#]一步一步开发自己的自动代码生成工具之一:获取SQL2005的数据库表结构
- [C#]一步一步开发自己的自动代码生成工具之三:代码生成引擎
- [C#]一步一步开发自己的自动代码生成工具之四:简单三层代码模板实例Model层
- [c#]一步一步开发自己的自动代码生成工具之一:获取sql2005的数据库表结构
- [C#]一步一步开发自己的自动代码生成工具之五:DAL层模板
- [C#]一步一步开发自己的自动代码生成工具之六:业务层模板
- 自制工具:CSV代码生成器:自动生成CSV文件对应的C++实体类和字段类型解析代码
- 自制工具:CSV代码生成器:自动生成CSV文件对应的C++实体类和字段类型解析代码
- 自动生成导出前端页面的快速开发工具,让代码开发变得简单
- STM32代码自动生成工具,三步搞定一个智能硬件APP开发
- 开源!开源!我写的Anto.exe C#代码自动生成工具.欢迎下载。。
- 简单好用的Nhibernate代码自动生成工具,自己写的基于动软代码生成器Nhibernate代码自动生成模板及图文教程
- 七个CSS3代码自动生成工具让你提升前端开发速度
- 利用 C# 开发工具自动完成创建一些基本的代码
- 分享一个自己开发的数据字典与动态代码生成工具
- 代码自动生成工具(二)-miniproto的c#库实现
- UML工具推荐 Poseidon版本 可以免费下载,自动生成代码 C++ Java C# VB.NET等 (来自德国汉堡的国际性建模软件开发商Gentleware AG的)
- JAVA 自动生成对应数据库表的JPA代码工具
- C# 代码结构自动化生成文档工具开发
- C#软件开发实例.私人订制自己的屏幕截图工具——放大镜的功能代码优化