CodeSmith中SchemaExplorer属性的介绍

CodeSmith与数据库的联系,在CodeSmith中自带一个程序集SchemaExplorer.dll,这个程序集中的类主要用于获取数据库中各种对象的结构。

<%@ Property Name="SourceDataTable" Type="SchemaExplorer.TableSchema"  Optional="False" Category="Context" Description="表名" %>

<%@ 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:存储过程的默认参数

时间: 2024-11-07 14:26:26

CodeSmith中SchemaExplorer属性的介绍的相关文章

【转】html的meta总结,html标签中meta属性使用介绍

转自 http://www.haorooms.com/post/html_meta_ds 引子 之前的我的博客中对于meta有个介绍,例如:http://www.haorooms.com/post/liulanq_think_ie 浏览器安全性想到的这篇文章,中间介绍了meta下面IE的一些属性,可以实现页面之间的过渡转换.已经SEO优化中有所提及.下面具体介绍一下meta的功能和使用. 前言 meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好met

html的meta总结,html标签中meta属性使用介绍

html的meta总结 meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能. 1.name属性 name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的. meta标签的name属性语法格式是: <meta name="参数"content="具体的参数值">. 其中n

html标签中meta属性使用介绍

前言 meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等! html的meta总结 meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能. 1

javascript中对象属性的介绍

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 对象的属性是什么类型的? string // 如果对象的属性不是字符

W3School上关于css中Z-index属性的介绍

浏览器支持 所有主流浏览器都支持 z-index 属性. 注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit". 定义和用法 z-index 属性设置元素的堆叠顺序.拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面. 注释:元素可拥有负的 z-index 属性值. 注释:Z-index 仅能在定位元素上奏效(例如 position:absolute;)! 说明 该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显

meta标签中的http-equiv属性使用介绍(转载)

meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等! meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能. 1.name属性 name属性主

深入理解JavaScript中的属性和特性

深入理解JavaScript中的属性和特性? JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaScript中理解对象的本质.理解对象与类的关系.对象与引用类型的关系 对象属性如何进行分类 属性中特性的理解 第一部分:理解JavaScript中理解对象的本质.理解对象与类的关系.对象与引用类型的关系 对象的本质:ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值.对象或者函数.即

与换行相关的css属性简单介绍

与换行相关的css属性简单介绍:在css布局中可能需要人为的进行操作是否换行,如何换行,本章节就就做一下简单介绍.一.word-break属性:此属性用来设定文本如何进行换行.语法结构: word-break:normal | break-all | keep-all 参数解析:1.normal:默认值,原则上规定在断字点换行,通俗的说就是在单词与语单词之间可以进行换行,但是如果单词特别的长,超出了行的长度,可以从单词内部断开进行换行.2.break-all:此属性值能够实现强制将单词从内部截断

[转]图解CSS的padding,margin,border属性(详细介绍及举例说明)

图解CSS的padding,margin,border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).边框距(padding).边界(border)和边距(margin). 对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次.关系和相互影响