4)在这个例子中,我们要读取数据库,所以我们需要引入相关的类库,继续修改代码如下:
<#@ assembly name="System.Data" #>
<#@ assembly name="System.XML" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ assembly name="System.XML" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="System.Data.SqlClient" #>
5)接下来,我们就可以编写代码,读取数据库中的数据,其中注意我们要把这些代码编写在#号之间的区域,形成代码块。
<#
string tableName ="Person.Address";
string className = "Address";
SqlConnection cn = new SqlConnection("Data Source=(local);User
ID=aspalliance;Password=aspalliance;Initial Catalog=AdventureWorks;");
cn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM " + tableName, cn);
DataTable dt = cmd.ExecuteReader(CommandBehavior.CloseConnection).GetSchemaTable();
#>
string tableName ="Person.Address";
string className = "Address";
SqlConnection cn = new SqlConnection("Data Source=(local);User
ID=aspalliance;Password=aspalliance;Initial Catalog=AdventureWorks;");
cn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM " + tableName, cn);
DataTable dt = cmd.ExecuteReader(CommandBehavior.CloseConnection).GetSchemaTable();
#>
在这段代码中,指定了要映射的表名为Person.Address,被映射的类为Address,接下来的几行代码是很简单的从数据库中读取代码,这里就不过多解析。要注意的是,目前在T4中,还没办法做到拼写的智能感知纠错,所以要注意拼写。当编写完以上代码保存后,T4会自动产生相应的代码文件,而不需要再按F5来运行整个工程。
6)接下来,我们要在模版文件中编写如下代码:
using System;
using System.Data.SqlClient;
using System.Data;
using System.Data.SqlClient;
using System.Data;
要注意的是,这里我们并没有象之前那样,使用模版符号#,这是因为,在我们生成的类文件中,是本身要调用相关的类库的。
7)当我们每次保存T4的模版文件时,会发现在资源管理器中,都会生成对应的CS文件,如下图: