CodeSmith Generator代码生成器

时间:2022-09-23 12:53:28

     为了学习这个软件怎么使用可是真费劲,我才发现英语不好真要命啊,所有的文档全是英文的,一个也看不懂啊,我就想着我下载一个软件自己琢磨吧,软件也是全英文的,实在不行我找朋友带着我一起学习的,没办法英语差看不懂,那为了让自己记住,以后方便使用,我还是写的详细点吧。我之前下了一个高版本7.0的,后来朋友给我发了个6.5的那就用6.5的吧,7.0我数据库连接的时候报错了所以还是建议用6.5的吧。感觉真是很可悲啊,好了不说废话了

   CodeSmith Generator 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本,与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。使用 CodeSmith,可以生成包括简单的强类型集合和完整应用程序在内的任何东西生成的代码能够根据性质用途定制

  CodeSmith Generator的句法规则与ASP.NET完全一致,因此只需熟悉ASP.NET技术,就可以快速掌握模板的句法规则,CodeSmith Generator能在短时间内提供高质量的风格一致的代码

  • 有效减少重复代码
  • 以更短的时间生成更少缺陷的代码
  • 代码符合指定的标准
  • 创建能生成任何语言代码的模板

下载地址:http://www.codesmithtools.com/downloads

下载后安装6.5的破解版

先安装软件,安装后先不要运行,找到安装路径把破解文件放到安装路径下,双击破解文件

CodeSmith Generator代码生成器

点击Install,如果破解成功

CodeSmith Generator代码生成器

好了破解成功,再打开软件出现了这个

CodeSmith Generator代码生成器

新创建一个模板右键点击My Templates CSharp 然后右键刚建的文件 Edit,就出现了下面的

CodeSmith Generator代码生成器

接下来就是写模板了,写完模板保存在一个自己能找到的地方,然后打开文件

CodeSmith Generator代码生成器

然后就是连接数据库,这个很智能的,如果连过一次,以后都会自动连接

CodeSmith Generator代码生成器

生成代码为

CodeSmith Generator代码生成器

这是一些基本的操作,下面就来写一些模板吧

<%-- 
Name:数据库表实体代码生成器
Author: 郭利利 876883106@qq.com
Description: 
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="Table that the object is based on." %>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>

<% foreach (ColumnSchema column in this.SourceTable.Columns) {  %>

 public <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToPascalCase(column.Name) %>{ get;set; }

<% } %>

效果

CodeSmith Generator代码生成器

<%-- 
Name:数据库表实体代码生成器
Author: 郭利利 876883106@qq.com
Description: 
Datatime:2014-08-08
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %>  
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="Table that the object is based on." %>  
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>  
<%@ Assembly Name="SchemaExplorer" %>  
<%@ Import Namespace="SchemaExplorer" %>  
  
<% foreach (ColumnSchema column in this.SourceTable.Columns) {  %>  
private <%= CSharpAlias[column.SystemType.FullName] %> _<%= StringUtil.ToCamelCase(column.Name) %>;  
  
public <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToPascalCase(column.Name) %>  
{  
    get { return _<%= StringUtil.ToCamelCase(column.Name) %>; }  
    set { _<%= StringUtil.ToCamelCase(column.Name) %> = value; }  
}  
  
<% } %>  

效果

CodeSmith Generator代码生成器

<%-- 
Name:数据库表实体代码生成器
Author: 郭利利 876883106@qq.com
Description: 
Datatime:2014-08-08
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %>  
<%@ Property Name="DataBases" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Table that the object is based on." %>  
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>  
<%@ Assembly Name="SchemaExplorer" %>  
<%@ Import Namespace="SchemaExplorer" %>  
  
 数据库名: <%=DataBases.Name %>  
 创建日期:    <%=DataBases.DateCreated %>  
 
<% foreach( var tb in DataBases.Tables){ %>      
    表名:  <%=tb.Name %>  
    <% foreach( var cl in tb.Columns){ %>  
       列名: <%= cl.Name %>    
       数据类型: <%= cl.NativeType %>  
       数据长度: <%= cl.Size %>  
       CTS数据类型: <%=cl.DataType %>   
       描述: <%=cl.Description %>  
     
    <%} %><%} %>  

效果

CodeSmith Generator代码生成器

<%-- 
Name:数据库表实体代码生成器
Author: 郭利利 876883106@qq.com
Description: 
Datatime:2014-08-08
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %>  
<%@ Property Name="SourceData" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Table that the object is based on." %>  
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>  
<%@ Assembly Name="SchemaExplorer" %>  
<%@ Import Namespace="SchemaExplorer" %> 
  
<%foreach( var tb in SourceData.Tables){ %>  
  
    [TableName("<%=tb.Name %>")]  
    <%foreach (var pk in tb.PrimaryKey.MemberColumns){ %>  
    [PrimaryKey("<%= pk.Name%>")]  
    <%} %>  
    [ExplicitColumns]  
    public partial class  <%=StringUtil.ToPascalCase(tb.Name) %> ()  
      {  
        <%foreach( var cl in tb.Columns) {%>    
         [Column]  
         public <%=CSharpAlias[cl.SystemType.FullName]%> <%=StringUtil.ToPascalCase(cl.Name) %> { get; set; }   
        <%} %>  
      } <%} %>  

效果

CodeSmith Generator代码生成器

好了就先写这么多模板吧,这些模板之前的主管都写过,只是自己不会用终于学会了。嘿嘿,具体的语法网上有,需要了网上查找,这只是自己工作中用到的