.NET Framework底层代码源码生成工具由两个部分组成:代码生成和开发工具集。
本工具集仅需简单配置即可实现下方所有功能
<configuration> <connectionStrings> <add name="default" connectionString="Data Source=.;Initial Catalog=SuperSiteData;user id=sa;password=000000" providerName="System.Data.SqlClient"/> </connectionStrings> <appSettings> <add key="BaseCodePath" value="E:/SuperSite/"/> //项目地址 <add key="ModelNameSpace" value="Newtec.Model"/> //Model命名空间 <add key="DALNameSpace" value="Newtec.DAL"/> //DAL命名空间 <add key="connName" value="default"/> </appSettings> </configuration>
在项目中引入dll文件后,设置触发事件即可。
protected void btModel_Click(object sender, EventArgs e) { new CodeGenerator().CreateModels(); Response.Write("model is finished"); } protected void btDal_Click(object sender, EventArgs e) { new CodeGenerator().CreateBaseDAL(); Response.Write("dal is finished"); }Model类生成效果如下,比较基础,可以在生成工具中修改
using System; using Daneas.Utility.Data; namespace Newtec.Model { /// <summary> /// APP_Account:实体类(属性说明自动提取数据库字段的描述信息) /// </summary> [Serializable] public partial class APP_Account { ///<summary> ///字段描述: ///</summary> public System.Int32 aid { get; set; } ///<summary> ///字段描述:公司id ///</summary> public System.Int32 cid { get; set; } ///<summary> ///字段描述:余额 ///</summary> public System.Double blance { get; set; } ///<summary> ///字段描述:总收入 ///</summary> public System.Double getin { get; set; } ///<summary> ///字段描述:总支出 ///</summary> public System.Double getout { get; set; } ///<summary> ///字段描述: ///</summary> public System.DateTime createdtime { get; set; } } }DAL类生成16个固定方法,满足普通数据库操作和事务操作:
using System; using System.Data; using System.Text; using System.Data.SqlClient; using System.Collections.Generic; using Daneas.Utility.Data; using Daneas.Utility.Universals; using Newtec.Model; namespace Newtec.DAL { ////// APP_Account:基础数据操作类(属性说明自动提取数据库字段的描述信息) ///public partial class APP_AccountBaseDAL { ////// 判断数据是否存在 ///key:字段名称、value字段值///true为存在public static bool IsExist(Dictionary而开发工具集主要包含了类型转换、数据处理相关工具等,如有需要请下载试用,CSDN下载地址请点击这里。dic) { code```` } ////// 获取实例 //////ID必须是数字///public static APP_Account GetById(System.Int32 ID) { code```` } ////// 获取实例(事务) //////id必须是数字///public static APP_Account GetById(System.Int32 ID,SqlCommand cmd) { code```` } ////// 新增实例(返回ID) /////////public static System.Int32 Create(APP_Account model) { code```` } ////// 新增实例(事务)(返回ID) /////////public static System.Int32 Create(APP_Account model,SqlCommand cmd) { code```` } ////// 更新实例 /////////public static bool Update(APP_Account model) { code```` } ////// 更新实例(事务) ////////////public static bool Update(APP_Account model,SqlCommand cmd) { code```` } ////// 删除实例 //////id必须是数字///public static bool DeleteById(Int64 Id) { code```` } ////// 删除实例(事务) //////id必须是数字//////public static bool DeleteById(Int64 Id,SqlCommand cmd) { code```` } ////// 获取实体列表,不分页 //////查询字段,值,And关系///public static ListGetList(Dictionary dic) { code```` } ////// 获取实例对象 //////实例对象中的参数,或关系///public static ListGetList(APP_Account model,int pageIndex,int pageSize,out int total) { code```` } ////// 获取实体列表,分页 //////查询字段,值,或关系///public static ListGetQueryList(Dictionary dic,string sortColumn,int pageIndex,int pageSize,out int total) { code```` } ////// 获取实体列表,分页 //////查询字段,值,Dic1或关系,Dic2与关系///public static ListGetQueryList(Dictionary dic1,Dictionary dic2,string sortColumn,int pageIndex,int pageSize,out int total) { code```` } ////// 获取所有实例对象 //////public static ListGetAllModels() { code```` } ////// 获取所有实例对象 //////public static ListGetTopBy(int top,string orderby) { code```` } } }