T4自动生成数据库C#实体类学习(1)

时间:2023-03-09 05:17:06
T4自动生成数据库C#实体类学习(1)

第一个测试的Demo

 <#@ template language="C#" debug="True" hostspecific="True" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Data" #> <#@ assembly name="System.xml" #>
<#@ assembly name="System.Data.OracleClient" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Data.OracleClient" #>
<#@ import namespace="System.Data" #> using System;
using System.Xml;
using System.Data;
using System.Data.OracleClient; namespace MyProject.Entities
{
<#
string connectionString = "Data Source=orcl;User ID=sde;PassWord=sde";
OracleConnection conn = new OracleConnection(connectionString);
conn.Open();
string tableName= "T_USER";
string selectQuery = "select * from @tableName";
OracleCommand command = new OracleCommand(selectQuery,conn);
System.Data.DataSet ds = new DataSet();
#> public class <#= tableName#>
{
<#
ds.Tables.Clear();
OracleDataAdapter ad=new OracleDataAdapter(command);
command.CommandText = selectQuery.Replace("@tableName", tableName); ad.FillSchema(ds, SchemaType.Mapped, tableName); foreach (DataColumn dc in ds.Tables[].Columns)
{
#> private <#= dc.DataType.Name #> _<#= dc.ColumnName.Replace(dc.ColumnName[].ToString(), dc.ColumnName[].ToString().ToLower()) #>; public <#= dc.DataType.Name #> <#= dc.ColumnName #>
{
get { return _<#= dc.ColumnName.Replace(dc.ColumnName[].ToString(), dc.ColumnName[].ToString().ToLower()) #>; }
set { _<#= dc.ColumnName.Replace(dc.ColumnName[].ToString(), dc.ColumnName[].ToString().ToLower()) #> = value; }
} <#
}
#> } <#
#>
}