• CodeSmith API文档 (三)


    一、基础模版类CodeSmith.BaseTemplates

    1.1 Batch

      1.1.1 属性

    名称

    说明

    Content

    LineCount

    StartLineNumber

      1.1.2 方法

    名称

    说明

    Finalize

    在一个对象再次创建之前获得空闲资源并且执行其他的清空操作

    MemberwiseClone

    建立现有对象的副本

    1.2 OutputFileCodeTemplate

      模版通过继承此类能够在生成过程中把他们的输出保存到文件中

      1.2.1 属性

    名称

    说明

    CodeTemplateInfo

    得到当前模版的信息

    OutputFile

    此属性用来指定一个保存模版输出的输出文件名

    Progress

    提供一种方式汇报模版的执行进程

    Response

    模版输出返回流。此属性可以在程序中写出流

    State

    模版实例的状态

    ValidationErrors

    得到模版的错误

      1.2.2 方法

    名称

    说明

    CopyPropertiesTo

    把匹配的属性拷贝到另一个代码模版实例中

    GetCodeTemplateInstance

    重载,得到指定模版的实例

    GetFileName

    为模版的输出得到一个默认的名字

    GetProperties

    得到模版的所有属性

    GetProperty

    得到模版的指定属性

    GetRequiredProperties

    得到模版上所有必要的属性

    GetType

    得到当前实例类型

    ParseDefaultValue

    解析属性的默认值

    SavePropertiesToXml

    以XML保存属性

    SavePropertiesToXmlFile

    保存属性到一个XML文档

    SetProperty

    重载,保存指定的属性值

    ToString

    1.3 ScriptError

      在脚本执行中出现一个错误

      1.3.1    方法

    名称

    说明

    Finalize

    在一个对象再次创建之前获得空闲资源并且执行其他的清空操作

    MemberwiseClone

    建立现有对象的副本

    1.4 ScriptErrorCollection

    1.5 ScriptResult

    1.6 ScriptUtility

       这个类能用来在数据库上执行Sql脚本。

       1.6.1 属性

    名称

    说明

    ConnectionString

    执行脚本时使用此连接字符串

    Script

    执行的脚本

        1.6.2 方法

    名称

    说明

    ExecuteScript 

    重载,执行脚本

    1.7SqlCodeTemplate

      继承此类的模版当从一个Sql数据源生成代码时能够获得很多有用的帮助方法

      1.7.1 属性

    名称

    说明

    CodeTemplateInfo 

    得到当前模版的信息

    OutputFile 

    此属性用来指定一个保存模版输出的输出文件名

    Progress  

    提供一种方式汇报模版的执行进程

    Response  

    模版输出返回流。此属性可以在程序中写出流

    State  

    模版实例的状态

    ValidationErrors 

    得到模版的错误

      1.7.2 方法

    名称

    说明

    CopyPropertiesTo 

    把匹配的属性拷贝到另一个代码模版实例中

    GetCamelCaseName Returns a camel cased name from the given identifier.

    GetCodeTemplateInstance

    重载,得到指定模版的实例

    GetCSharpVariableType

    基于给定列返回C#的变量类型

    GetFileName 

    为模版的输出得到一个默认的名字

    GetMemberVariableDeclarationStatement

    重载,返回C#成员变量声明语句

    GetMemberVariableDefaultValue

    基于一个列的数据类型返回一个默认值

    GetMemberVariableName

    为一个给定标示返回一个C#成员变量名

    GetProperties  

    得到模版的所有属性

    GetProperty  

    得到模版的指定属性

    GetPropertyName 

    返回指定列的公有属性的名字

    GetReaderMethod 

    Returns the name of the typed reader method for a given column.

    GetRequiredProperties 

    得到模版上所有必要的属性

    GetSpacedName 

    Returns a spaced out version of the identifier.

    GetSqlDbType 

    返回一个给定列的SqlDbType

    GetSqlParameterExtraParams

    为ADO的参数声明生成额外的参数

    GetSqlParameterStatement

    重载,返回给定列的T-Sql的参数声明

    GetSqlParameterStatements

    重载,给指定列加一个参数到ADO对象生成一个指定声明(Generates an assignment statement that adds a parameter to a ADO object for the given column. )

    GetValidateStatements

    基于某列生成一组确认声明

    IncludeEmptyCheck

    确定一个给定列是否可以为空

    IncludeMaxLengthCheck

    确定一个给定列的类型是否需要最大长度的定义

    IsUserDefinedType

    确定是否一个给定列用了一个UDT(用户定义类型)

    ParseDefaultValue 

    解析属性的默认值

    SavePropertiesToXml 

    以XML保存属性

    SavePropertiesToXmlFile

    保存属性到一个XML文档

    SetProperty  

    重载,保存指定的属性值

      1.8 StringUtility

        多种处理string型的方法

    二、数据库架构信息SchemaExplorer

    2.1 DatabaseSchem

      2.1.1 属性

    名称

    说明

    ConnectionString

    一般填写类似于ADO.NET的连接字符串

    Name

    数据库名称

    Provider

    驱动程序提供者,一般实例化一个SqlSchemaProvider对象

      2.1.2 集合

    名称

    说明

    Commands

    所有存储过程集合

    Tables

    所有表的集合

    Views

    所有视图的集合

    2.2 TableSchema

      2.2.1 属性

    名称

    说明

    Name

    表名

    Database

    所在数据库

    DataCreated

    创建日期

    FullName

    全名

    HasPrimaryKey

    是否有主键

    Owner

    所有者

    PrimaryKey

    主键信息

      2.2.2 方法

    名称

    说明

    GetTableData

    获取表中所有数据,结果为DataTable

      2.2.3 集合

    名称

    说明

    Columns

    所有列集合

    ForeignKeyColumns

    所有外键列的集合

    ForeignKeys

    外键信息的集合(有外键关系的外键信息)

    Indexes

    所有索引的信合

    Keys

    所有主键和外键的列的集合

    NonKeyColumns

    所有非主键外键列的集合

    NonForeignKeyColumns

    所有非外键列的集合

    NonPrimaryKeyColumns

    所有非主键列的集合

    PrimaryKeys

    主键信息的集合(有外键关系的主键信息)

    2.3 CommandSchema

      2.3.1 属性

    名称

    说明

    Name

    存储过程名

    FullName

    全名

    Database

    所在数据库

    DataCreated

    创建日期

    Owner

    所有者

    ReturnValueParameter

    返回值参数,SQLSERVER中似乎取不到

    CommandText

    存储过程的内容源代码

      2.3.2 集合

    名称

    说明

    AllInputParameters

    所有的输入参数集合,有可能包括即是输入又是输出的参数

    AllOutputParameters

    所有输出参数的集合,有可能包括即是输入又是输出的参数

    CommandResults

    存储过程的查询结果集合

    InputOutputParameters

    输入输出参数的集合

    InputParameters

    所有输入参数的集合

    OutputParameters

    所有输出参数的集合

    Parameters

    所有参数的集合

    NonReturnValueParameters

    除了返回值之外的参数的集合

    2.4 ViewSchema

      2.4.1 属性

    名称

    说明

    Name

    视图名

    FullName

    视图全名

    Database

    所在数据库

    DataCreated

    创建日期

    Owner

    所有者

    ViewText

    视图源代码

      2.4.2 方法

    名称

    说明

    GetViewData

    得到视图中的数据,返回类型为DataTable

      2.4.3 集合

    名称

    说明

    Columns

    视图中所有列的集合

    2.5 ColumnSchema

      2.5.1 属性

    名称

    说明

    Name

    列的名称

    NonDBNull

    是否允许为空

    Database

    所在数据库

    DataType

    内部表示的数据类型

    Description

    列说明信息

    IsForeignKeyMember

    是否为外键

    IsPrimaryKeyMember

    是否为主键,通用

    IsUnique

    是否唯一

    NativeType

    数据库中的数据类型

    Precision

    精度

    Scale

    小数位数

    Size

    列的长度

    SystemType

    当前列在所用语言中的类型

    Table

    所在的表

    2.6 ParameterSchema

      参数结构

      2.6.1 属性

    名称

    说明

    Name

    参数名称

    NonDBNull

    是否为空

    Command

    所在存储过程名

    Database

    所在数据库

    Direction

    参数的类型:输入,输出,输入输出,返回值

    NativeType

    数据库中的数据类型

    Size

    长度

    Precision

    精度

    Scale

    小数位数

    SystemType

    当前列在所用语言中的类型

    2.7 ViewColumnSchema

      视图列的结构

      2.7.1 属性

    名称

    说明

    Name

    视图的名称

    NonDBNull

    是否为空

    View

    所在的视图

    Database

    所在的数据库

    NativeType

    SqlServer中的类型

    Size

    长度

    Precision

    精度

    Scale

    小数位数

    SystemType

    当前列在所用语言中的类型

    2.8 TableKeySchema

      表中键结构

      2.8.1 属性

    名称

    说明

    Name

    表的键的名称,即约束名称

    Database

    所在数据库

    ForeignKeyTable

    有外键的表,即子表

    PrimaryKeyTable

    主键表,即主表

    PrimaryKey

    主表的主键信息

      2.8.2 集合

    名称

    说明

    PrimaryKeyMemberColumns

    当前键信息中主键的成员列集合,即主表中的主键的列的集合

    ForeignKeyMemberColumns

    当前键信息中外键的成员列集合,即子表中某个外键的列集合

    2.9 IndexSchema

      索引的结构

      2.9.1 属性

    名称

    说明

    Name

    索引名称

    Table

    所在表

    DataBase

    所在数据库

    Is

    是否聚集索引

    IsPrimaryKey

    是否为主键索引

    IsUnique

    是否为唯一索引

      2.9.2 集合

    名称

    说明

    MemberColumns

    索引的列集合

    2.10 ExtendedProperty

      扩展信息

      2.10.1 Table

    名称

    说明

    CS_isIdentity:

    是否为标识符,不支持Access

    CS_isComputed

    是否为计算列

    CS_isDeterministic

    是否确定

    CS_IdentitySeed

    标识列种子数

    CS_IdentityIncrement:

    标识列递增量

    CS_Default

    列的默认值 

    CS_isRowGuidCol

      2.10.2 View

    名称

    说明

    CS_isIdentity:

    是否为计算列

    CS_isDeterministic

    是否确定

      2.10.3 Command

    名称

    说明

    CS_Default

    存储过程的默认参数

      小示例:

        <% foreach(TableKeySchema PrimaryKey in table.PrimaryKeys) %>
        <% { %>    
            <%= PrimaryKey %> //FK_Article_Column(外键名称)
            <%= PrimaryKey.PrimaryKey %> //PK_Column(外键关系中的主键)
            <%= PrimaryKey.PrimaryKeyTable %> //dbo.Column (有主外键关系且为主键的表)
            <%= PrimaryKey.ForeignKeyTable %> //dbo.Article (有主外键关系且作为外键的表)
            <% foreach(MemberColumnSchema MemberColumn in PrimaryKey.PrimaryKeyMemberColumns) %>
            <% { %>
                <%= PrimaryKey.ForeignKeyTable %>   //dbo.Article
                <%= PrimaryKey.ForeignKeyTable.ForeignKeyColumns %> //dbo.Article.ColumnId
            <% } %>
        <% } %>
  • 相关阅读:
    由后序遍历序列和中序遍历序列确定二叉树
    由先序遍历序列和中序遍历序列确定二叉树
    EBR-TLV数据格式
    埃利斯(A.Ellis)ABCDE情绪管理理论
    马斯洛需求层次理论
    【Linux命令】find命令
    Windows核心编程——动态库和静态库
    C++Socket编程—socket网络模型之事件选择模型模型
    C++Socket编程—socket网络模型之异步选择模型
    C++Socket编程—socket网络模型之select模型
  • 原文地址:https://www.cnblogs.com/kissdodog/p/3024414.html
Copyright © 2020-2023  润新知