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

posted on 2012-09-21 16:02 sanmao 阅读(1004) 评论(0)  编辑  收藏

只有注册用户后才能发表评论。


网站导航:
              
 

常用链接

留言簿(5)

codesmith-凯发k8网页登录

搜索

  •  

最新评论

阅读排行榜

评论排行榜

网站地图