241 lines
11 KiB
Plaintext
241 lines
11 KiB
Plaintext
|
<%@ Template Language="C#" TargetLanguage="Text" %>
|
|||
|
<%-- 注册要生成的模板 --%>
|
|||
|
<%@ Register Name="basicImplements" Template="basicImplements.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="basicObject" Template="basicObject.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="extModelClass" Template="extModelClass.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="extModelImpl" Template="extModelImpl.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="logic" Template="logic.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="wcfData" Template="WCFdata.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="WcfInterface" Template="WcfInterface.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="wcfSvr" Template="WcfService.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="wcfSvc" Template="WcfServiceSvc.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%@ Register Name="wcfList" Template="WcfDataList.cst" MergeProperties="Flase" ExcludeProperties=""%>
|
|||
|
<%--声明数据库的参数,在左下角的Database属性中,选择要操作的数据库名称--%>
|
|||
|
<%@ Property Category="Database" Name="SourceDatabase" Type="SchemaExplorer.DatabaseSchema" Optional="False" Description="Database the table enums will come from." %>
|
|||
|
<%--Type数据类型为TableSchema,表明参数Table是一个表对象。--%>
|
|||
|
|
|||
|
<%-- 执行输出文件的函数 --%>
|
|||
|
<%--this.OutPutFile();--%>
|
|||
|
<% eachTable(); %>
|
|||
|
<script runat="template">
|
|||
|
TableSchema SourceTable;
|
|||
|
public string getClassName()
|
|||
|
{
|
|||
|
string tablename = this.SourceTable.Name.Substring(2);
|
|||
|
string firstChar = tablename.Substring(0,1);
|
|||
|
string className = firstChar.ToUpper() + tablename.Substring(1);
|
|||
|
return className ;
|
|||
|
//return this.SourceTable.Name.Substring(2);
|
|||
|
}
|
|||
|
|
|||
|
private void eachTable(){
|
|||
|
|
|||
|
foreach(TableSchema table in SourceDatabase.Tables){
|
|||
|
this.SourceTable = table;
|
|||
|
|
|||
|
|
|||
|
OutPutFile();
|
|||
|
Response.WriteLine("Hello, processed table " + this.SourceTable.Name + "!");
|
|||
|
}
|
|||
|
Response.WriteLine(" !!---- e n d --------------!! " );
|
|||
|
}
|
|||
|
|
|||
|
private void OutPutFile()
|
|||
|
{
|
|||
|
//生成列举表名的模板
|
|||
|
CodeTemplate basicImplements =new basicImplements();
|
|||
|
//指定输出路径
|
|||
|
string filePath = OutputDirectory +"\\data\\basic\\"+ getClassName() + "_base_Imp" +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
basicImplements.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
basicImplements.SetProperty("SourceTable",this.SourceTable);
|
|||
|
basicImplements.RenderToFile(filePath,true);
|
|||
|
|
|||
|
//生成列表表字段的模板
|
|||
|
CodeTemplate basicObject =new basicObject();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\data\\basic\\"+ getClassName() + "_base" +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
basicObject.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
basicObject.SetProperty("SourceTable",this.SourceTable);
|
|||
|
basicObject.RenderToFile(filePath,true);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CodeTemplate extModelImpl =new extModelImpl();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\data\\"+ getClassName() + "_Imp" +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
extModelImpl.SetProperty("SourceTable",this.SourceTable);
|
|||
|
extModelImpl.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate extModelClass =new extModelClass();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\tables\\"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
extModelClass.SetProperty("SourceTable",this.SourceTable);
|
|||
|
extModelClass.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate logic =new logic();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\logic\\l"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
logic.SetProperty("SourceTable",this.SourceTable);
|
|||
|
logic.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate wcfData =new wcfData();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfData\\wcf"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfData.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfData.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfData.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate wcfInterface =new WcfInterface();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfService\\I"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfInterface.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfInterface.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfInterface.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate wcfSvr =new wcfSvr();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfService\\"+ this.SourceTable.Name.ToUpper() +".svc.cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfSvr.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfSvr.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfSvr.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate wcfSvc =new wcfSvc();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfService\\"+ this.SourceTable.Name.ToUpper() +".svc";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfSvc.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfSvc.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfSvc.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate wcfList =new wcfList();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfData\\wcf"+ getClassName() +"List.cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfList.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfList.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfList.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//输出文件
|
|||
|
private void OutPutFile2()
|
|||
|
{
|
|||
|
//生成列举表名的模板
|
|||
|
CodeTemplate basicImplements =new basicImplements();
|
|||
|
//指定输出路径
|
|||
|
string filePath = OutputDirectory +"\\model\\data\\basic\\"+ getClassName() + "_base_Imp" +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
basicImplements.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
basicImplements.SetProperty("SourceTable",this.SourceTable);
|
|||
|
basicImplements.RenderToFile(filePath,true);
|
|||
|
|
|||
|
//生成列表表字段的模板
|
|||
|
CodeTemplate basicObject =new basicObject();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\model\\data\\basic\\"+ getClassName() + "_base" +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
basicObject.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
basicObject.SetProperty("SourceTable",this.SourceTable);
|
|||
|
basicObject.RenderToFile(filePath,true);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CodeTemplate extModelImpl =new extModelImpl();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\model\\data\\"+ getClassName() + "_Imp" +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
extModelImpl.SetProperty("SourceTable",this.SourceTable);
|
|||
|
extModelImpl.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate extModelClass =new extModelClass();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\model\\tables\\"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
extModelClass.SetProperty("SourceTable",this.SourceTable);
|
|||
|
extModelClass.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate wcfData =new wcfData();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\model\\wcfData\\wcf"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfData.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfData.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfData.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate wcfList =new wcfList();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\model\\wcfData\\list\\wcf"+ getClassName() +"List.cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfList.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfList.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfList.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate logic =new logic();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\logic\\l"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
logic.SetProperty("SourceTable",this.SourceTable);
|
|||
|
logic.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate wcfInterface =new WcfInterface();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfService\\I"+ getClassName() +".cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfInterface.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfInterface.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfInterface.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
CodeTemplate wcfSvr =new wcfSvr();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfService\\"+ this.SourceTable.Name.ToUpper() +".svc.cs";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfSvr.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfSvr.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfSvr.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
CodeTemplate wcfSvc =new wcfSvc();
|
|||
|
//指定输出路径
|
|||
|
filePath = OutputDirectory +"\\wcfService\\"+ this.SourceTable.Name.ToUpper() +".svc";
|
|||
|
//给子模板参数赋值
|
|||
|
wcfSvc.SetProperty("SourceDatabase",this.SourceDatabase);
|
|||
|
wcfSvc.SetProperty("SourceTable",this.SourceTable);
|
|||
|
wcfSvc.RenderToFile(filePath,true);//not overwrite
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
//解决方案输出路径
|
|||
|
private string Directory = String.Empty;
|
|||
|
[Editor(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(System.Drawing.Design.UITypeEditor))]
|
|||
|
[Optional, NotChecked]
|
|||
|
[DefaultValue("")]
|
|||
|
public string OutputDirectory
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return Directory;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
if (value.EndsWith("\\")) value = value.Substring(0, value.Length -1);
|
|||
|
Directory = value;
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|