.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 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````
}
}
}
而开发工具集主要包含了类型转换、数据处理相关工具等,如有需要请下载试用,CSDN下载地址请点击这里。