自定义tt文本模板实现MySql指数据库中生成实体类
2018-06-22 07:51:27来源:未知 阅读 ()
1.在项目中依次点击“添加”/“新建项”,选择“文本模板”,输入名称后点击添加。
2.在Base.tt中添加如下代码。
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ output extension=".cs" #> <#@ Assembly Name="System.Core" #> <#@ Assembly Name="System.Windows.Forms" #> <#@ Assembly Name="MySql.Data.dll" #> <#@ Assembly Name="System.Data" #> <#@ Assembly Name="System" #> <#@ import namespace="System" #> <#@ import namespace="System.IO" #> <#@ import namespace="System.Diagnostics" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Collections" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="MySql.Data" #> <#@ import namespace="MySql.Data.MySqlClient" #> //数据库基本信息设置 <# string Server="localhost"; string UId="root"; string PWd="fxy19940923.."; string Db_Name="cxkdb"; #> //获取数据库中各表基本数据 <# string conStr="server="+Server+";database="+Db_Name+";uid="+UId+";pwd="+PWd; MySqlConnection con=new MySqlConnection(conStr); con.Open(); MySqlParameter mp=new MySqlParameter("@db_name",Db_Name); string sqlStr="select * from information_schema.COLUMNS where table_schema=@db_name "; MySqlCommand cmd=new MySqlCommand(sqlStr,con); cmd.Parameters.Add(mp); MySqlDataReader dr = cmd.ExecuteReader(); var TableList=new List<string>(); var DetailList=new List<Tuple<string,string,string>>(); var TableName=""; while(dr.Read()) { var Table=dr["TABLE_NAME"].ToString(); if(TableName==Table) { var Column=dr["COLUMN_NAME"].ToString(); var DataTypeOld=dr["DATA_TYPE"].ToString(); var DataType=DataTypeOld=="varchar"?"string": (DataTypeOld=="int"?"int": (DataTypeOld=="datetime"?"DateTime": (DataTypeOld=="decimal"?"decimal": (DataTypeOld=="char"?"string": (DataTypeOld=="bit"?"Boolean":"string"))))); DetailList.Add(Tuple.Create(Table,DataType,Column)); } else { TableList.Add(Table); } TableName=Table; } #> using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data;
3.利用1中的方法新建DataBaseEntity.tt文本模板,并添加如下代码。
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ output extension=".cs" #> <#@ include file="Base.tt" #> namespace DataBaseEntity { <# foreach(var item in TableList) { #> public class <#= item #> {<# foreach(var detail in DetailList) {if( item == detail.Item1 ) { #> public <#=detail.Item2#> <#=detail.Item3#> { get; set; } <#}}#> } <# } #>}
4.将数据库的基本信息填写在Base.tt文件中,即“数据库基本设置”部分,然后依次保存Base.tt、DataBaseEntity.tt,在DataBase.tt目录下会生成对应的实体类。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 如何禁止文本框的记忆功能方法集锦 2020-03-04
- ASP.Net MVC 布局页、模板页使用方法详细介绍 2020-01-18
- Razor模板引擎简单介绍 2019-12-04
- ASP.NET Razor模板引擎中输出Html的两种方式 2019-11-24
- 详解WPF自定义搜索框代码 2019-11-15
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash