[CODE Smith]SchemaExplorer中对象的扩展属性
2008-02-20 13:10 Jaypei 阅读(376) 评论(0) 编辑 收藏 举报CodeSmith定义的扩展属性包括table columns, view columns, 和 command parameters。
如:SQL Server定义了一个扩展属性来标识表中的唯一标识字
Identity Field = <%
foreach(ColumnSchema cs in SourceTable.Columns) {
if(((bool)cs.ExtendedProperties["CS_IsIdentity"].Value)==true)
{
Response.Write(cs.Name);
}
}
%>
foreach(ColumnSchema cs in SourceTable.Columns) {
if(((bool)cs.ExtendedProperties["CS_IsIdentity"].Value)==true)
{
Response.Write(cs.Name);
}
}
%>
输出默认值:
foreach(ColumnSchema cs in SourceTable.Columns)
{
if(cs.ExtendedProperties["CS_Default"] != null)
{
Response.WriteLine("{0,-11} : {1}",cs.Name,cs.ExtendedProperties["CS_Default"].Value);
}
}
{
if(cs.ExtendedProperties["CS_Default"] != null)
{
Response.WriteLine("{0,-11} : {1}",cs.Name,cs.ExtendedProperties["CS_Default"].Value);
}
}
其他扩展属性:
- Table columns
CS_IsRowGuidCol 、 CS_IsIdentity 、 CS_IsComputed 、 CS_IsDeterministic 、 CS_IdentitySeed 、 CS_IdentityIncrement 、 CS_Default - view columns
CS_IsComputed 、 CS_IsDeterministic - command parameters
CS_Default
另外,每个对象都有一个CS_Description的扩展属性。你也可以通过SQL Server中的系统存储过程sp_addextendedproperty来创建自定义的扩展属性。例如:我们执行如下命令为Customer这张表的ID字段添加一个Caption的扩展属性:
sp_addextendedproperty 'caption', 'Customer ID', 'user', dbo, 'table', Customers,'column', id
在数据库中执行完这条语句后,CodeSmith 中将会在这个字段的扩展属性集合中加上Caption属性。
参考TerryLee的《CodeSmith开发资料.pdf》