码迷,mamicode.com
首页 > 数据库 > 详细

T4模板_根据DB生成实体类

时间:2014-05-14 03:26:59      阅读:549      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   c   

   为了减少重复劳动,可以通过T4读取数据库表结构,生成实体类,用下面的实例测试了一下

1.首先创建一个项目,并添加文本模板:

bubuko.com,布布扣

2.添加 文本模板:

bubuko.com,布布扣

3.向T4文本模板文件添加代码:

bubuko.com,布布扣
<#@ template language="C#" debug="True" hostspecific="True" #>

<#@ assembly name="System.Data" #> 

<#@ assembly name="System.xml" #>

<#@ import namespace="System.Collections.Generic" #>

<#@ import namespace="System.Data.SqlClient" #>

<#@ import namespace="System.Data" #>

<#@ output extension=".cs" #>

 using System;

namespace Test.T4

{     

      <#

           string connectionString="data source=(local);initial catalog=musicstore;user id=sa;password=123456;";

           SqlConnection conn = new SqlConnection(connectionString);

           conn.Open();

           DataTable schema = conn.GetSchema("TABLES");

           string strSql = "select * from @tableName";

           SqlCommand command = new SqlCommand(strSql,conn);

           SqlDataAdapter ad = new SqlDataAdapter(command);

           DataSet ds = new DataSet();        

           foreach(DataRow row in schema.Rows)

           {  #>  

           public class <#= row["TABLE_NAME"].ToString().Trim() #>                   

           {    <#                     

                   ds.Tables.Clear();

                  command.CommandText = strSql.Replace("@tableName",row["TABLE_NAME"].ToString());

                  ad.FillSchema(ds, SchemaType.Mapped, row["TABLE_NAME"].ToString());         
               
                  foreach (DataColumn dc in ds.Tables[0].Columns)

                  {    #>                    
                  public <#= dc.DataType.Name #> <#= dc.ColumnName #> { get; set; }
              <# }  #>         
           }                  

           <# 
                  
           } #>                
           <# conn.Close(); #>
}
bubuko.com,布布扣

DataTable schema = conn.GetSchema("TABLES");获取数据库的表名,然后通过foreach语句逐个遍历,更具表名查询字段名,生成实体类。

好了,保存一下,就可以看到DBToClass.cs文件类已经生成好了实体类了。

 

 

T4模板_根据DB生成实体类,布布扣,bubuko.com

T4模板_根据DB生成实体类

标签:style   blog   class   code   java   c   

原文地址:http://www.cnblogs.com/ashleyboy/p/3721995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!