CodeSmith–SchemaExplorer類結構詳細介紹

來源:互聯網
上載者:User
CodeSmith----SchemaExplorer類結構詳細介紹

CodeSmith與資料庫的聯絡,在CodeSmith中內建一個程式集SchemaExplorer.dll,這個程式集中的類主要用於擷取資料庫中各種對象的結構。

<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Default="" Optional="False" Category="Context" Description="源表名" %>

<%@ Property Name="SourceDB" Type="SchemaExplorer.DatabaseSchema" Default="" Optional="False" Category="Context" Description="" OnChanged="" Editor="" EditorBase="" Serializer="" %>

<%@ Assembly Name="SchemaExplorer" %>

<%@ Import Namespace="SchemaExplorer" %>

 

SchemaExplorer中主要類的結構和功能:

DatabaseSchema

屬性:

ConnectionString:一般填寫類似於ADO.NET的連接字串

Name:資料庫名稱

Provider:驅動程式提供者,一般執行個體化一個SqlSchemaProvider對象

集合:

Commands:所有預存程序集合

Tables:所有表的集合

Views:所有視圖的集合

 

TableSchema

屬性:

Name:表名

Database:所在資料庫

DataCreated:建立日期

FullName:全名

HasPrimaryKey:是否有主鍵

Owner:所有者

PrimaryKey:主鍵資訊

 

方法:GetTableData:擷取表中所有資料,結果為DataTable

 

集合:

Columns:所有列集合

ForeignKeyColumns:所有外鍵列的集合

ForeignKeys:外鍵資訊的集合

Indexes:所有索引的信合

Keys:所有主鍵和外鍵的列的集合

NonKeyColumns:所有非主鍵外鍵列的集合

NonForeignKeyColumns:所有非外鍵列的集合

NonPrimaryKeyColumns:所有非主鍵列的集合

PrimaryKeys:主鍵資訊的集合

 

CommandSchema預存程序結構

屬性:

Name:預存程序名

FullName:全名

Database:所在資料庫

DataCreated:建立日期

Owner:所有者

ReturnValueParameter:傳回值參數,SQLSERVER中似乎取不到

CommandText:預存程序的內容來源代碼

 

集合:

AllInputParameters:所有的輸入參數集合,有可能包括即是輸入又是輸出的參數

AllOutputParameters:所有輸出參數的集合,有可能包括即是輸入又是輸出的參數

CommandResults:預存程序的查詢結果集合

InputOutputParameters:輸入輸出參數的集合

InputParameters:所有輸入參數的集合

OutputParameters:所有輸出參數的集合

Parameters:所有參數的集合

NonReturnValueParameters:除了傳回值之外的參數的集合

 

ViewSchema視圖結構

屬性:

Name:視圖名

FullName:視圖全名

Database:所在資料庫

DataCreated:建立日期

Owner:所有者

ViewText:視圖原始碼

 

方法:GetViewData:得到視圖中的資料,傳回型別為DataTable

 

集合:Columns:視圖中所有列的集合

 

ColumnSchema列結構

屬性:

Name:列的名稱

NonDBNull:是否允許為空白

Database:所在資料庫

DataType:內部表示的資料類型

IsForeignKeyMember:是否為外鍵

IsPrimaryKeyMember:是否為主鍵,通用

IsUnique:是否唯一

NativeType:資料庫中的資料類型

Precision:精度

Scale:小數位元

Size:列的長度

SystemType:當前列在所用語言中的類型

Table:所在的表

 

ParameterSchema參數結構

屬性:

Name:參數名稱

NonDBNull:是否為空白

Command:所在預存程序名

Database:所在資料庫

Direction:參數的類型:輸入,輸出,輸入輸出,傳回值

NativeType:資料庫中的資料類型

Size:長度

Precision:精度

Scale:小數位元

SystemType:當前列在所用語言中的類型

 

ViewColumnSchema視圖列的結構

屬性:

Name:視圖的名稱

NonDBNull:是否為空白

View:所在的視圖

Database:所在的資料庫

NativeType:SqlServer中的類型

Size:長度

Precision:精度

Scale:小數位元

SystemType:當前列在所用語言中的類型

 

TableKeySchema表中鍵結構

屬性:

Name:表的鍵的名稱,即約束名稱

Database:所在資料庫

ForeignKeyTable:有外鍵的表,即子表

PrimaryKeyTable:主鍵表,即主表

PrimaryKey:主表的主鍵資訊

 

集合:

PrimaryKeyMemberColumns:當前鍵資訊中主鍵的成員列集合,即主表中的主鍵的列的集合

ForeignKeyMemberColumns:當前鍵資訊中外鍵的成員列集合,即子表中某個外鍵的列集合

 

IndexSchema索引的結構

屬性:

Name:索引名稱

Table:所在表

DataBase:所在資料庫

Is:是否叢集索引

IsPrimaryKey:是否為主鍵索引

IsUnique:是否為唯一索引

 

集合:MemberColumns:索引的列集合

 

ExtendedProperty擴充資訊

Table:

CS_isIdentity:是否為標識符,不支援Access

CS_isComputed:是否為計算資料行

CS_isDeterministic:是否確定...

CS_IdentitySeed::識別欄位種子數

CS_IdentityIncrement:識別欄位遞增量

CS_Default:列的預設值 

CS_isRowGuidCol

 

View:

CS_isComputed:是否為計算資料行

CS_isDeterministic:

 

Command:

CS_Default:預存程序的預設參數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.