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:存儲過程的默認參數
轉載于:https://www.cnblogs.com/silverLee/archive/2009/11/05/1596759.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的CodeSmith--SchemaExplorer类结构详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到蛇在爬预示着什么
- 下一篇: 梦到女儿生病是什么意思周公解梦