技术开发 频道

告别重复!巧用Visual Studio代码生成器

  4)在这个例子中,我们要读取数据库,所以我们需要引入相关的类库,继续修改代码如下:

<#@ assembly name="System.Data" #>
<#@ 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();
  #
>

  在这段代码中,指定了要映射的表名为Person.Address,被映射的类为Address,接下来的几行代码是很简单的从数据库中读取代码,这里就不过多解析。要注意的是,目前在T4中,还没办法做到拼写的智能感知纠错,所以要注意拼写。当编写完以上代码保存后,T4会自动产生相应的代码文件,而不需要再按F5来运行整个工程。

  6)接下来,我们要在模版文件中编写如下代码:

using System;
using System.Data.SqlClient;
using System.Data;

  要注意的是,这里我们并没有象之前那样,使用模版符号#,这是因为,在我们生成的类文件中,是本身要调用相关的类库的。

  7)当我们每次保存T4的模版文件时,会发现在资源管理器中,都会生成对应的CS文件,如下图:

0
相关文章