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
        <% } %>
    <% } %>

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM