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 閱讀(1079) 評論(0)  編輯  收藏

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


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 丰顺县| 诸城市| 阳春市| 南昌县| 奈曼旗| 乌鲁木齐县| 广水市| 陆川县| 扶余县| 尼勒克县| 理塘县| 仪陇县| 肃宁县| 凌源市| 湄潭县| 永济市| 聂拉木县| 太仓市| 海丰县| 岚皋县| 汤阴县| 宾川县| 运城市| 张家港市| 攀枝花市| 大荔县| 察雅县| 筠连县| 青川县| 小金县| 梅河口市| 康保县| 涞水县| 融水| 洛隆县| 来安县| 宣威市| 永吉县| 铜梁县| 沂源县| 遂平县|