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:存儲過程的默認參數



本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zhaili1978/archive/2008/10/28/3167532.aspx

posted on 2012-09-21 16:02 sanmao 閱讀(841) 評論(0)  編輯  收藏

只有注冊用戶登錄后才能發表評論。


網站導航:
 

常用鏈接

留言簿(5)

隨筆分類

隨筆檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

湖北快3号码表 广东快乐十分前三直开奖 5分彩定位胆技巧 辽宁福彩35选7走势图 幸运飞艇是哪里出的 手机网上开户炒股安全吗 广东快乐十分玩法 浙江11选5有什么问题 山西11选五 k线猎手配资 快乐双彩最新开奖结果