模板如下:

<%@ Template Language="C#" TargetLanguage="C#" %><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" %><%@ Property Name="ModelNameSpace" Type="System.String" Default="Model"%><%@ Property Name="IDALlNameSpace" Type="System.String" Default="IDAL"%>using System;using System.Collections.Generic;using System.Linq;using System.Text;using <%=ModelNameSpace%>;namespace <%=IDALlNameSpace %>{   public interface I<%=GetClassName() %>rService    {        DBHelper db = new DBHelper();        int Add<%=this.GetClassName()%>(<%=this.GetClassName()%> <%=this.ToCamel(this.GetClassName())%>);                                                                int Update<%=this.GetClassName()%>(<%=this.GetClassName()%> <%=this.ToCamel(this.GetClassName())%>);                                                                <%foreach(TableKeySchema key in this.SourceTable.ForeignKeys) {%>        int Delete<%=this.GetClassName()%>By<%=GetFKBySuffix(key)%>(<%=GetFKMethodParameters(key)%>);        <%} %>                                                                <%foreach(IndexSchema index in this.SourceTable.Indexes){ %>        <%=this.GetClassName()%> Get<%=this.GetClassName()%>By<%=GetUniqueIndexBySuffix(index)%>(<%=GetUniqueIndexMethodParameters(index)%>);        <%} %>                                                                <%foreach(TableKeySchema key in this.SourceTable.ForeignKeys) {%>        List<<%=this.GetClassName()%>> Get<%=this.GetClassName()%>By<%=GetFKBySuffix(key)%>(<%=GetFKMethodParameters(key)%>);        <%} %>        List<<%=this.GetClassName()%>> Get<%=this.GetClassName()%>s();                                                           }}

这是生成一张表的数据访问层。

下面是为一个数据库批量生成的模板:

<%@ Template Language="C#" TargetLanguage="C#" %><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%@ Property Name="SourceDB" Type="SchemaExplorer.DatabaseSchema" %><%@ Register Name="IDALTempateClass" Template="IDAL.cst" %><%foreach (TableSchema table in this.SourceDB.Tables)    {         IDALTempateClass itc=new IDALTempateClass();         itc.SourceTable=table;         itc.RenderToFile("f:\\模板类IDAL\\"+itc.GetFileName(),true);    }%>

在为一个数据库批量生成时,一般都是一模一样的套路。

Ajax的姑娘,加油!