T4生成数据库实体类模板
来源:互联网 发布:c语言传值和传址 编辑:程序博客网 时间:2024/04/28 03:53
<#@ template language="C#" debug="True" hostspecific="True" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.xml" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ import namespace="System.Data" #>
using System;
namespace MyProject.Entities
{
<#
string connectionString = "Data Source=qinyanlu;Initial Catalog=Develop_RegisterManager;Persist Security Info=True;User ID=sa;Password=sa;Max Pool Size=100;Min Pool Size=5;Pooling=true;";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
System.Data.DataTable schema = conn.GetSchema("TABLES");
string selectQuery = "select * from @tableName";
SqlCommand command = new SqlCommand(selectQuery,conn);
SqlDataAdapter ad = new SqlDataAdapter(command);
System.Data.DataSet ds = new DataSet();
foreach(System.Data.DataRow row in schema.Rows)
{ #>
public class <#= row["TABLE_NAME"].ToString().Trim('s') #>
{ <#
ds.Tables.Clear();
command.CommandText = selectQuery.Replace("@tableName",row["TABLE_NAME"].ToString());
ad.FillSchema(ds, SchemaType.Mapped, row["TABLE_NAME"].ToString());
foreach (DataColumn dc in ds.Tables[0].Columns)
{ #>
private <#= dc.DataType.Name #> _<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString().ToLower()) #>;
public <#= dc.DataType.Name #> <#= dc.ColumnName #>
{
get { return _<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString().ToLower()) #>; }
set { _<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString().ToLower()) #> = value; }
}
<# } #>
}
<#
} #>
}
生成数据库实体类加注释:
<#@ template language="C#" debug="True" hostspecific="True"#>
<#@ output extension=".cs"#>
<#@ assembly name="System.Data"#>
<#@ assembly name="System.xml"#>
<#@ import namespace="System.Collections.Generic"#>
<#@ import namespace="System.Data.SqlClient"#>
<#@ import namespace="System.Data"#>
using System;
namespace MyProject.Entities
{
<#
string connectionString="Data Source=qinyanlu;Initial Catalog=Develop_RegisterManager;PersistSecurityInfo=True;User ID=sa;Password=sa;Max Pool Size=100;Min Pool Size=5;Pooling=true;";
SqlConnection conn=new SqlConnection(connectionString);
conn.Open();
System.Data.DataTable schema=conn.GetSchema("TABLES");
string selectQuery="select * from @tableName";
SqlCommand command=new SqlCommand(selectQuery,conn);
SqlDataAdapter ad=new SqlDataAdapter(command);
System.Data.DataSet ds=new DataSet();
foreach(System.Data.DataRow row in schema.Rows)
{#>
public class <#=row["TABLE_NAME"].ToString()#>
{<#
ds.Tables.Clear();
command.CommandText=selectQuery.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#>;<#
string selectBZ=@"SELECT isnull(SysProperties.Value,'') FROM SysObjects,SysTypes,SysColumns LEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND Syscolumns.Colid = Sysproperties.Smallid)
WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v') AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType
AND SysTypes.Name <> 'sysname' AND Sysobjects.Name = '@table' AND SysColumns.Name='@column'";
selectBZ=selectBZ.Replace("@table",row["TABLE_NAME"].ToString());
selectBZ=selectBZ.Replace("@column",dc.ColumnName);
SqlCommand commandBZ=new SqlCommand(selectBZ,conn);
string BZ=commandBZ.ExecuteScalar().ToString().Replace("/r/n","");
#><#if(BZ.Length>0){Write("/t/t/*"+BZ+"*/");}#>
<#
}#>}<#}#>
}
- T4生成数据库实体类模板
- 使用T4模板生成 数据库实体类
- 使用T4模板生成实体类
- T4 模板引擎 生成实体
- 使用T4为数据库自动生成实体类(C#)
- 使用T4为数据库自动生成实体类
- T4模版引擎之生成数据库实体类
- 使用T4模板为EF框架添加数据库实体注释
- 使用T4模板根据数据库生成model层
- T4模板根据数据库生成项目内基本cs文件
- T4模版生成SpringMVC构造REST代码:第八篇 用T4模版生成请求实体类代码
- 使用T4 模板来自动生成WCF 代理类 代码
- CodeSmith生成实体类模板
- T4模板, Entity Framework数据库映射文件模板 的自定义生成
- 黄聪:C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(转载)
- 代码生成新选择-T4模板引擎
- T4模板从字符串生成 INSERT
- 编写T4模板进行代码生成
- 一句话木马
- 打造自己的rtos(4)
- vi/vim 命令手册(初级篇)
- 打造自己的rtos(5)
- select的jquery插件
- T4生成数据库实体类模板
- 打造自己的rtos(6)
- 无题
- 套接字选项和I/O控制命令
- WINDOWS 2003 无法PING入得解决方式
- 打造自己的rtos(7)
- 转载 W.Richard Stevens 网络编程
- 打造自己的rtos(8)
- 2010.1.8