<#@ 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+"*/");}#>
<#
}#>}<#}#>
}