CodeSmith基础(三) 下

9.使用SchemaExplorer能否确定一个字段(Field)是标识字段(主键,Identity Field)
        在字段的扩展属性集合中包含一个叫“CS_IsIdentity”的属性,如果这个属性的值为true,则表名当前字段为一个标识字段
1  Identity Field  =   <%   foreach (ColumnSchema cs  in  SourceTable.Columns) {  
2         if ( (( bool )cs.ExtendedProperties[ " CS_IsIdentity " ].Value)  ==   true )
3        {
4              Response.Write(cs.Name);
5        }
6  }
7  %>
        CS_Identity_Example.cst文件源代码
 1  <% @ CodeTemplate Language = " C# "  TargetLanguage = " T-SQL "
 2      Description = " Identifies the identity field of a table "   %>
 3 
 4  <% @ Property Name = " SourceTable "  Type = " SchemaExplorer.TableSchema "
 5      Category = " Context "
 6      Description = " Table to target. "   %>
 7 
 8  <% @ Assembly Name = " SchemaExplorer "   %>
 9 
10  <% @ Import Namespace = " SchemaExplorer "   %>
11 
12 
13 
14  Identity Field  =   <%   foreach (ColumnSchema cs  in  SourceTable.Columns) {  
15                           if ( (( bool )cs.ExtendedProperties[ " CS_IsIdentity " ].Value)  ==   true )
16                          {
17                              Response.Write(cs.Name);
18                          }
19                      }
20                    %>
        10.如何确定一个字段的默认值(各人认为翻译成如何知道一个字段有默认值并且默认值是什么)
        在字段的扩展属性集合中包含一个叫“CS_Default”的属性
1  <%
2  foreach (ColumnSchema cs  in  SourceTable.Columns) {  
3         if  (cs.ExtendedProperties[ " CS_Default " !=   null )
4        {
5             Response.WriteLine(cs.ExtendedProperties[ " CS_Default " ].Value);
6        }
7  }
8  %>

        11.如何使用SchemaExplorer得到存储过程的输入输出参数
        使用CodeSmith提供的CommandSchema对象,它包含需要的输入输出参数集合
 1  Input Parameters: 
 2  <% foreach (ParameterSchema ps  in  SourceProcedure.AllInputParameters)
 3  {
 4        Response.Write(ps.Name);
 5        Response.Write( " \n " );
 6  }
 7  %>
 8 
 9 
10  Output Parameters: 
11  <% foreach (ParameterSchema ps  in  SourceProcedure.AllOutputParameters)
12  {
13        Response.Write(ps.Name);
14        Response.Write( " \n " );
15  }
16  %>
        InputOutputParameterExample.cst文件源代码
 1  <% @ CodeTemplate Language = " C# "  TargetLanguage = " T-SQL "
 2      Description = " Generates a update stored procedure. "   %>
 3 
 4  <% @ Property Name = " SourceProcedure "  Type = " SchemaExplorer.CommandSchema "
 5      Category = " Context "
 6      Description = " The stored procedure to examine "   %>
 7 
 8  <% @ Assembly Name = " SchemaExplorer "   %>
 9 
10  <% @ Import Namespace = " SchemaExplorer "   %>
11 
12  Input Parameters: 
13  <% foreach (ParameterSchema ps  in  SourceProcedure.AllInputParameters)
14  {
15      Response.Write(ps.Name);
16      Response.Write( " \n " );
17  }
18  %>
19 
20 
21  Output Parameters: 
22  <% foreach (ParameterSchema ps  in  SourceProcedure.AllOutputParameters)
23  {
24      Response.Write(ps.Name);
25      Response.Write( " \n " );
26  }
27  %>

本文出自 “努力学习的小熊” 博客,转载请与作者联系!

你可能感兴趣的:(基础,职场,休闲,codesmith)