一、基础模版类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 <% } %> <% } %>