• CodeSmithSchemaExplorer类结构详细介绍


    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

  • 相关阅读:
    184. Department Highest Salary【leetcode】sql,join on
    181. Employees Earning More Than Their Managers【leetcode】,sql,inner join ,where
    178. Rank Scores【leetcode】,sql
    177. Nth Highest Salary【leetcode】,第n高数值,sql,limit,offset
    176. Second Highest Salary【取表中第二高的值】,sql,limit,offset
    118. Pascal's Triangle【LeetCode】,java,算法,杨辉三角
    204. Count Primes【leetcode】java,算法,质数
    202. Happy Number【leetcode】java,hashSet,算法
    41. First Missing Positive【leetcode】寻找第一个丢失的整数,java,算法
    删除
  • 原文地址:https://www.cnblogs.com/luluping/p/1523954.html
Copyright © 2020-2023  润新知