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

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


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安平县| 深州市| 同江市| 武穴市| 霍州市| 日照市| 大化| 肇源县| 承德县| 长葛市| 罗江县| 绿春县| 保山市| 府谷县| 汶川县| 绵阳市| 富顺县| 南城县| 荣成市| 尤溪县| 修水县| 晋宁县| 桑植县| 无为县| 山东省| 柏乡县| 曲靖市| 通河县| 田林县| 科技| 呼图壁县| 保定市| 郴州市| 宁波市| 石林| 侯马市| 崇明县| 厦门市| 扬中市| 新蔡县| 武穴市|