Heim > Datenbank > MySQL-Tutorial > CodeSmith实用技巧(十):通过编程执行模版

CodeSmith实用技巧(十):通过编程执行模版

WBOY
Freigeben: 2016-06-07 15:10:56
Original
1453 Leute haben es durchsucht

CodeSmith 在执行模版时通过调用一些 API 来完成的,主要经过了以下这几步的操作: l 编译一个模版 l 显示编译错误信息 l 创建一个新的模版实例 l 用元数据填充模版 l 输出结果 下面这段代码显示了这些操作: CodeTemplateCompilercompiler = new CodeTempla

CodeSmith在执行模版时通过调用一些API来完成的,主要经过了以下这几步的操作:

l         编译一个模版

l         显示编译错误信息

l         创建一个新的模版实例

l         用元数据填充模版

l         输出结果

下面这段代码显示了这些操作:

CodeSmith实用技巧(十):通过编程执行模版CodeTemplateCompiler compiler = new CodeTemplateCompiler("..\\..\\StoredProcedures.cst");
CodeSmith实用技巧(十):通过编程执行模版compiler.Compile();
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版
if (compiler.Errors.Count == 0)
CodeSmith实用技巧(十):通过编程执行模版CodeSmith实用技巧(十):通过编程执行模版
CodeSmith实用技巧(十):通过编程执行模版{
CodeSmith实用技巧(十):通过编程执行模版    CodeTemplate template 
= compiler.CreateInstance();
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版    DatabaseSchema database 
= new DatabaseSchema(new SqlSchemaProvider(), @"Server=(local)\NetSDK;Database=Northwind;Integrated Security=true;");
CodeSmith实用技巧(十):通过编程执行模版    TableSchema table 
= database.Tables["Customers"];
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版    template.SetProperty(
"SourceTable", table);
CodeSmith实用技巧(十):通过编程执行模版    template.SetProperty(
"IncludeDrop"false);
CodeSmith实用技巧(十):通过编程执行模版    template.SetProperty(
"InsertPrefix""Insert");
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版    template.Render(Console.Out);
CodeSmith实用技巧(十):通过编程执行模版}

CodeSmith实用技巧(十):通过编程执行模版
else
CodeSmith实用技巧(十):通过编程执行模版CodeSmith实用技巧(十):通过编程执行模版
CodeSmith实用技巧(十):通过编程执行模版{
CodeSmith实用技巧(十):通过编程执行模版    
for (int i = 0; i  compiler.Errors.Count; i++)
CodeSmith实用技巧(十):通过编程执行模版CodeSmith实用技巧(十):通过编程执行模版    
CodeSmith实用技巧(十):通过编程执行模版{
CodeSmith实用技巧(十):通过编程执行模版        Console.Error.WriteLine(compiler.Errors[i].ToString());
CodeSmith实用技巧(十):通过编程执行模版    }

CodeSmith实用技巧(十):通过编程执行模版}

CodeSmith实用技巧(十):通过编程执行模版
CodeSmith实用技巧(十):通过编程执行模版

在这里我们用了

Render方法,其实CodeTemplate.RenderToFileCodeTemplate.RenderToString方法可能更有用,它可以直接让结果输出到文件中或赋给字符型的变量。

注意:该功能只能在CodeSmith专业版中使用
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage