C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、基础模版类CodeSmith.BaseTemplates

1.1 Batch

  1.1.1 属性

名称

说明

Content

 

LineCount

 

StartLineNumber

 

  1.1.2 方法

名称

说明

Finalize

在一个对象再次创建之前获得空闲资源并且执行其他的清空操作

MemberwiseClone

建立现有对象的副本

1.2 OutputFileCodeTemplate

  模版通过继承此类能够在生成过程中把他们的输出保存到文件中

  1.2.1 属性

名称

说明

CodeTemplateInfo

得到当前模版的信息

OutputFile

此属性用来指定一个保存模版输出的输出文件名

Progress

提供一种方式汇报模版的执行进程

Response

模版输出返回流。此属性可以在程序中写出流

State

模版实例的状态

ValidationErrors

得到模版的错误

  1.2.2 方法

名称

说明

CopyPropertiesTo

把匹配的属性拷贝到另一个代码模版实例中

GetCodeTemplateInstance

重载,得到指定模版的实例

GetFileName

为模版的输出得到一个默认的名字

GetProperties

得到模版的所有属性

GetProperty

得到模版的指定属性

GetRequiredProperties

得到模版上所有必要的属性

GetType

得到当前实例类型

ParseDefaultValue

解析属性的默认值

SavePropertiesToXml

以XML保存属性

SavePropertiesToXmlFile

保存属性到一个XML文档

SetProperty

重载,保存指定的属性值

ToString

 

1.3 ScriptError

  在脚本执行中出现一个错误

  1.3.1    方法

名称

说明

Finalize

在一个对象再次创建之前获得空闲资源并且执行其他的清空操作

MemberwiseClone

建立现有对象的副本

1.4 ScriptErrorCollection

1.5 ScriptResult

1.6 ScriptUtility

   这个类能用来在数据库上执行Sql脚本。

   1.6.1 属性

名称

说明

ConnectionString

执行脚本时使用此连接字符串

Script

执行的脚本

    1.6.2 方法

名称

说明

ExecuteScript 

重载,执行脚本

1.7SqlCodeTemplate

  继承此类的模版当从一个Sql数据源生成代码时能够获得很多有用的帮助方法

  1.7.1 属性

名称

说明

CodeTemplateInfo 

得到当前模版的信息

OutputFile 

此属性用来指定一个保存模版输出的输出文件名

Progress  

提供一种方式汇报模版的执行进程

Response  

模版输出返回流。此属性可以在程序中写出流

State  

模版实例的状态

ValidationErrors 

得到模版的错误

  1.7.2 方法

名称

说明

CopyPropertiesTo 

把匹配的属性拷贝到另一个代码模版实例中

GetCamelCaseName Returns a camel cased name from the given identifier.

GetCodeTemplateInstance

重载,得到指定模版的实例

GetCSharpVariableType

基于给定列返回C#的变量类型

GetFileName 

为模版的输出得到一个默认的名字

GetMemberVariableDeclarationStatement

重载,返回C#成员变量声明语句

GetMemberVariableDefaultValue

基于一个列的数据类型返回一个默认值

GetMemberVariableName

为一个给定标示返回一个C#成员变量名

GetProperties  

得到模版的所有属性

GetProperty  

得到模版的指定属性

GetPropertyName 

返回指定列的公有属性的名字

GetReaderMethod 

Returns the name of the typed reader method for a given column.

GetRequiredProperties 

得到模版上所有必要的属性

GetSpacedName 

Returns a spaced out version of the identifier.

GetSqlDbType 

返回一个给定列的SqlDbType

GetSqlParameterExtraParams

为ADO的参数声明生成额外的参数

GetSqlParameterStatement

重载,返回给定列的T-Sql的参数声明

GetSqlParameterStatements

 

重载,给指定列加一个参数到ADO对象生成一个指定声明(Generates an assignment statement that adds a parameter to a ADO object for the given column. )

GetValidateStatements

基于某列生成一组确认声明

IncludeEmptyCheck

确定一个给定列是否可以为空

IncludeMaxLengthCheck

确定一个给定列的类型是否需要最大长度的定义

IsUserDefinedType

确定是否一个给定列用了一个UDT(用户定义类型)

ParseDefaultValue 

解析属性的默认值

SavePropertiesToXml 

以XML保存属性

SavePropertiesToXmlFile

保存属性到一个XML文档

SetProperty  

重载,保存指定的属性值

  1.8 StringUtility

    多种处理string型的方法

二、数据库架构信息SchemaExplorer

2.1 DatabaseSchem

  2.1.1 属性

名称

说明

ConnectionString

一般填写类似于ADO.NET的连接字符串

Name

数据库名称

Provider

驱动程序提供者,一般实例化一个SqlSchemaProvider对象

  2.1.2 集合

名称

说明

Commands

所有存储过程集合

Tables

所有表的集合

Views

所有视图的集合

2.2 TableSchema

  2.2.1 属性

名称

说明

Name

表名

Database

所在数据库

DataCreated

创建日期

FullName

全名

HasPrimaryKey

是否有主键

Owner

所有者

PrimaryKey

主键信息

  2.2.2 方法

名称

说明

GetTableData

获取表中所有数据,结果为DataTable

  2.2.3 集合

名称

说明

Columns

所有列集合

ForeignKeyColumns

所有外键列的集合

ForeignKeys

外键信息的集合(有外键关系的外键信息)

Indexes

所有索引的信合

Keys

所有主键和外键的列的集合

NonKeyColumns

所有非主键外键列的集合

NonForeignKeyColumns

所有非外键列的集合

NonPrimaryKeyColumns

所有非主键列的集合

PrimaryKeys

主键信息的集合(有外键关系的主键信息)

2.3 CommandSchema

  2.3.1 属性

名称

说明

Name

存储过程名

FullName

全名

Database

所在数据库

DataCreated

创建日期

Owner

所有者

ReturnValueParameter

返回值参数,SQLSERVER中似乎取不到

CommandText

存储过程的内容源代码

  2.3.2 集合

名称

说明

AllInputParameters

所有的输入参数集合,有可能包括即是输入又是输出的参数

AllOutputParameters

所有输出参数的集合,有可能包括即是输入又是输出的参数

CommandResults

存储过程的查询结果集合

InputOutputParameters

输入输出参数的集合

InputParameters

所有输入参数的集合

OutputParameters

所有输出参数的集合

Parameters

所有参数的集合

NonReturnValueParameters

除了返回值之外的参数的集合

2.4 ViewSchema

  2.4.1 属性

名称

说明

Name

视图名

FullName

视图全名

Database

所在数据库

DataCreated

创建日期

Owner

所有者

ViewText

视图源代码

  2.4.2 方法

名称

说明

GetViewData

得到视图中的数据,返回类型为DataTable

  2.4.3 集合

名称

说明

Columns

视图中所有列的集合

2.5 ColumnSchema

  2.5.1 属性

名称

说明

Name

列的名称

NonDBNull

是否允许为空

Database

所在数据库

DataType

内部表示的数据类型

Description

列说明信息

IsForeignKeyMember

是否为外键

IsPrimaryKeyMember

是否为主键,通用

IsUnique

是否唯一

NativeType

数据库中的数据类型

Precision

精度

Scale

小数位数

Size

列的长度

SystemType

当前列在所用语言中的类型

Table

所在的表

2.6 ParameterSchema

  参数结构

  2.6.1 属性

名称

说明

Name

参数名称

NonDBNull

是否为空

Command

所在存储过程名

Database

所在数据库

Direction

参数的类型:输入,输出,输入输出,返回值

NativeType

数据库中的数据类型

Size

长度

Precision

精度

Scale

小数位数

SystemType

当前列在所用语言中的类型

2.7 ViewColumnSchema

  视图列的结构

  2.7.1 属性

名称

说明

Name

视图的名称

NonDBNull

是否为空

View

所在的视图

Database

所在的数据库

NativeType

SqlServer中的类型

Size

长度

Precision

精度

Scale

小数位数

SystemType

当前列在所用语言中的类型

2.8 TableKeySchema

  表中键结构

  2.8.1 属性

名称

说明

Name

表的键的名称,即约束名称

Database

所在数据库

ForeignKeyTable

有外键的表,即子表

PrimaryKeyTable

主键表,即主表

PrimaryKey

主表的主键信息

  2.8.2 集合

名称

说明

PrimaryKeyMemberColumns

当前键信息中主键的成员列集合,即主表中的主键的列的集合

ForeignKeyMemberColumns

当前键信息中外键的成员列集合,即子表中某个外键的列集合

2.9 IndexSchema

  索引的结构

  2.9.1 属性

名称

说明

Name

索引名称

Table

所在表

DataBase

所在数据库

Is

是否聚集索引

IsPrimaryKey

是否为主键索引

IsUnique

是否为唯一索引

  2.9.2 集合

名称

说明

MemberColumns

索引的列集合

2.10 ExtendedProperty

  扩展信息

  2.10.1 Table

名称

说明

CS_isIdentity:

是否为标识符,不支持Access

CS_isComputed

是否为计算列

CS_isDeterministic

是否确定

CS_IdentitySeed

标识列种子数

CS_IdentityIncrement:

标识列递增量

CS_Default

列的默认值 

CS_isRowGuidCol

 

  2.10.2 View

名称

说明

CS_isIdentity:

是否为计算列

CS_isDeterministic

是否确定

  2.10.3 Command

名称

说明

CS_Default

存储过程的默认参数

  小示例:

    <% foreach(TableKeySchema PrimaryKey in table.PrimaryKeys) %>
    <% { %>    
        <%= PrimaryKey %> //FK_Article_Column(外键名称)
        <%= PrimaryKey.PrimaryKey %> //PK_Column(外键关系中的主键)
        <%= PrimaryKey.PrimaryKeyTable %> //dbo.Column (有主外键关系且为主键的表)
        <%= PrimaryKey.ForeignKeyTable %> //dbo.Article (有主外键关系且作为外键的表)
        <% foreach(MemberColumnSchema MemberColumn in PrimaryKey.PrimaryKeyMemberColumns) %>
        <% { %>
            <%= PrimaryKey.ForeignKeyTable %>   //dbo.Article
            <%= PrimaryKey.ForeignKeyTable.ForeignKeyColumns %> //dbo.Article.ColumnId
        <% } %>
    <% } %>

 

 

 

 

posted on 2013-04-16 18:00  逆心  阅读(3283)  评论(1编辑  收藏  举报