zoukankan      html  css  js  c++  java
  • 自动执行SQL脚本<codesmith>

    CodeSmith中,如果生成的代码是SQL脚本,则可以在生成代码完成时自动执行生成的代码,也就是在生成的SQL脚本的同时在数据库中创建新的对象。

    BaseTemplates.ScriptUtility对象提供ExecuteScript方法可以实现,如果想在生成代码完成后立即执行生成的脚本,可以很方便的通过重载OnPostRender来实现。

    在使用之前,先添加对下列程序集的引用:

    <%@ Assembly Name="CodeSmith.BaseTemplates" %>
    <%@ Import Namespace="CodeSmith.BaseTemplates" %>

    看下面的这个例子:

    protected override void OnPostRender(string result) 
    {
        
    // execute the output on the same database as the source table.
        CodeSmith.BaseTemplates.ScriptResult scriptResult = 
         CodeSmith.BaseTemplates.ScriptUtility.ExecuteScript(
    this.SourceTable.Database.ConnectionString, 
         result, 
    new System.Data.SqlClient.SqlInfoMessageEventHandler(cn_InfoMessage)); 
        Trace.Write(scriptResult.ToString());
        
    base.OnPostRender(result);
    }


    在这个例子中SourceTable是一个类型为SchemaExplorer.TableSchema.的属性,使用的时候需要调整部分代码来获取数据库的连接以便在生成代码完成后执行脚本。

  • 相关阅读:
    Apple Watch知识点总结
    segue场景跳转的使用总结
    iOS地图相关知识点总结
    第三方库AFNetwork的作用和用法详解
    UIImagePickerController的知识点总结
    关于图片的压缩问题
    盒子模型知识
    CSS3新增属性
    ps命令详解
    http请求中的Referer的作用
  • 原文地址:https://www.cnblogs.com/kingwangzhen/p/1722939.html
Copyright © 2011-2022 走看看