CodeSmith與數據庫的聯系,在CodeSmith中自帶一個程序集SchemaExplorer.dll,這個程序集中的類主要用于獲取數據庫中各種對象的結構。
<%@ PRoperty Name="SourceDataTable" Type="SchemaExplorer.TableSchema" Optional="False" Category="Context" Descr <%@ Property Name="SourceDataDB" Type="SchemaExplorer.DatabaseSchema" 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:存儲過程的默認參數
新聞熱點
疑難解答