现在的位置: 首页 > 综合 > 正文

动软代码生成器

2013年10月19日 ⁄ 综合 ⁄ 共 4739字 ⁄ 字号 评论关闭

动软代码:

public <#= returnValue #> Add(<#= ModelSpace #> model)   

C#代码:

public int Add(BW_MinPressure.Model.m_Group model)

动软代码:

<# foreach (ColumnInfo c in host.Fieldlist)
{ #>private <#= CodeCommon.DbTypeToCS(c.TypeName) #> _<#= c.ColumnName.ToString().ToLower() #>;     
<# } #>

C#代码:

private int _id;     
private string _vc_name;     
private string _vc_memo;     
private int _i_flag;     

动软代码:

<#if (identityKey!=null) {#>strSql.Append(";select @@IDENTITY");<#}#>

C#代码:

strSql.Append(";select @@IDENTITY");



<#=identityKey.ColumnName#> 标示列名

<#= host.Keys[0].ColumnName #> 主键列名

 

动软代码:

/// <summary>
  /// 是否存在该记录
  /// </summary> 

  public bool Exists(<#= CodeCommon.GetInParameter(host.Keys, false) #>)
  {
   return dal.Exists(<#= CodeCommon.GetFieldstrlist(host.Keys, false)#>);
  }

C#代码:
/// <summary>
  /// 是否存在该记录
  /// </summary>
  public bool Exists(int ID)
  {
     return dal.Exists(ID);
  }



目录

 

一.        功能介绍

二.        下载安装

三.        模板代码生成

四.        模板代码批量生成

五.        代码生成规则设置

六.        模板编写教程

1.模板指令声明块 <#@  #>

(1) 模板指令

(2) 参数指令

(3) 输出指令

(4) 程序集指令

(5) 导入指令

(6) 包含指令

2.代码语句块: <#   #>

3.表达式块:<#=  #>

4.类功能控制块:<#+  #>

5.文本块输出

6.显示错误和警告

7.模板示例讲解

8.Host对象属性列表

9.Host对象方法列表

10.CodeCommon工具类常用方法

 


 

一.    功能介绍

动软.Net代码生成器 是一款为.Net程序员设计的全功能自动代码生成器,也是一个智能化软件开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model类构造等基础代码片断,支持不同架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。新版本中除了程序集组件模板,也同样支持用户自定义文本模板,像写ASPX代码一样写模板,一键代码生成,更方便,更灵活。

动软让软件开发变得轻松而快乐!让企业不断提升开发效率,同样的时间创造出更大的价值。

二.    下载安装

1.  系统要求
Microsoft Windows2000/XP/2003/7 
或者更高。机器必须安装.NET Framework v2.0

2.  官方下载地址:http://www.maticsoft.com/download.aspx

3.  下载解压后安装包有如下文件:

动软模板使用教程 - aijun980204 - 收集

Codematic2.msi  是动软.NET代码生成器的安装文件。

Builder文件夹是代码生成插件的源码,动软.NET代码生成器支持可扩展的代码生成插件,用户可以定制自己的代码生成的插件,根据接口开发自己的代码生成方式,按自己的需求进行代码生成。

Codematic_Data.MDFCodematic_Log.LDF 通过动软新建项目中所带管理模块所需要的数据库文件。后台管理员默认登录用户名:admin  密码:1

 

4.  双击Codematic2.msi 进行直接安装即可。

安装动软时,如果用户机器360弹出警告,那仅仅是个签名认证提示,并非木马,选择继续安装,然后点击确定即可。

动软郑重声明 动软.NET代码生成器,绝无插件木马,纯绿色软件。请放心安装。

5.  安装成功后,在开始-菜单和桌面上会有动软.NET代码生成器的图标。

三.    模板代码生成

1.  在左侧【数据库视图】,选中表,右键菜单【模板代码生成】

2011-5-3 1-11-51.png

2.  然后,出现单表的代码生成器界面,我们设置自己需要更改的信息

2011-5-3 1-14-43.png

备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。

 

3.  然后,点击工具栏【生成代码】或者【生成代码】按钮,即可生成该类的代码:

生成的代码,可以直接复制到项目文件中,也可以右键保存成CS文件。通过窗体下面的Tab按钮可以来回切换设计视图和代码。

4.  设置模板目录

动软模板使用教程 - aijun980204 - 收集

 

5.  模板保存

动软模板使用教程 - aijun980204 - 收集

6.   

四.    模板代码批量生成

1.  选中数据库或者表,然后单击右键菜单【模板代码批量生成】

2.  出现的窗口和新建项目基本相似,只是多了一个选中架构的选项:

2011-5-3 1-17-49.png

 

3.  选则要生成的表,然后点击【导出】。

4.  在生成的文件夹中,我们可以看到:

 

批量生成代码只生成业务表的代码,不再有解决方案文件和项目文件,以及其它类库等。我们可以将生成的这些文件直接拖到现有的解决方案中即可

 

五.    代码生成规则设置

打开菜单【工具】-【选项】-【代码生成设置】

动软模板使用教程 - aijun980204 - 收集

 

动软模板使用教程 - aijun980204 - 收集

这些配置保存后,在生成代码的时候将按照这个规则进行生成。

代码生成的规则设置范围还在不断增加中。

 

另外,不同数据库类型的数据类型各有不同,这里提供了字段类型和C#中的类型建立映射关系,生成代码时将按映射关系来生成代码字段属性的类型。

2011-5-3 1-15-37.png

2011-5-3 1-15-51.png

 


 

六.    模板编写教程

模板的大体分为5块内容:模板指令声明,代码语句块,表达式块,类功能控制块,文本块输出。下面我们分别来介绍一下这5块内容的语法和使用说明。

1.  模板指令声明块 <#@  #>

ASP.NET页面的指令一样,它们出现在文件头,通过<#@#>表示。其中<#@
template 
#>指令是必须的,用于定义模板的基本属性。

(1)    模板指令

<#@ template [language="VB"] [hostspecific="true"] [debug="true"] [inherits="templateBaseClass"] [culture="code"] [compilerOptions="options"] #>

例如

<#@ template language="C#v3.5" hostSpecific="true" debug="true" #>

Language  这里可以指定模板使用的语言。

hostSpecific="true" 表示是否使用特定的hosthost里面包含了模板使用的各种对象。

注意

所有属性值必须用双引号都起来。如果值本身包含引号,则必须使用 \ 字符对这些引号进行转义。 指令通常是模板文件或包含的文件中的第一个元素。

 

(2)    参数指令

<#@ parameter type="Full.TypeName" name="ParameterName" #>

 

(3)    输出指令

<#@ output extension=".fileNameExtension encoding="encoding"  #>

output extension=".cs"   指定生成文件的扩展名。

encoding="encoding"    指定生成文件的编码。

 

(4)    程序集指令

<#@ assembly name="System.Data" #>

用于添加程序集引用,如果要使用第三方程序集,那么最好在项目中添加引用。

注:您应使用绝对路径的名称,或者路径名称中使用标准的宏的名称。

例如: <#@ assembly name="$(SolutionDir)library\MyAssembly.dll" #>

 

(5)    导入指令

<#@ import namespace="System.Data" #>

导入要使用的命名空间,注意:这里的命名空间必须要在前面指定的程序集里面找得到的,比如我指定命名空间"System.Data""System.Data.Common",这些在程序集System.Data中都有的

 

(6)    包含指令

<#@ include file="test.tt" #> 导入模板,类似Htmlinclude用法

include 指令插入其他模板文件的文本。

例如,下面的指令插入 test.txt 的内容。 <#@ include file="c:\test.txt" #>

在处理时,被包含内容就像是包含文本模板的组成部分一样。 不过,即使 include 指令后跟普通文本块和标准控制块,也可以包含编写有类功能块 <#+...#> 的文件

 

2.  代码语句块<#   #>

在模板文件中,可以混合使用任意数量的文本块和标准控制块。中间是一段通过相应编程语言编写的程序调用,我们可以通过代码语句快控制文本转化的流程。

注意:不能在控制块中嵌套控制块。

<#@ output extension=".txt" #>

<#

    for(int i = 0; i < 4; i++)

    {

#>

 Hello!

<#

    }

#>

 

 

3.  表达式块:<#=  #>

表达式控制块计算表达式并将其转换为字符串。 该字符串将插入到输出文件中。

例如: <#= 2 + 3 #>

表达式可以包含作用域中的任何变量。 例如,下面的块输出数字行:

<#@ output extension=".txt" #>

<#

    for(int i = 0; i < 4; i++)

    {

#>

This is hello number <#= i+1 #>: Hello!

<#

    }

#>

 

 

4.  类功能控制块:<#+  #>

如果文本转化需要一些比较复杂的逻辑,我们需要写在一个单独的辅助方法中,甚至是定义一些单独的类,我们就是将它们定义在类特性块中。类功能控制块定义属性、方法或不应包含在主转换中的所有其他代码。 类功能块常用于编写帮助器函数。 通常,类功能块位于单独的文件中,这样它们可以包含在多个文本模板中。 类功能控制块以 <#+
... #> 
符号分隔。

例如,下面的模板文件声明并使用一个方法:

<#@ output extension=".txt" #>

Squares:

<#

    for(int i = 0; i < 4; i++)

    {

#>

    The square of <#= i #> is <#= Square(i+1) #>.

<#

    }

#>

That is the end of the list.

<# // Start of class feature block

private int Square(int i)

{

    return i*i;

}

#>

 

类功能必须编写在文件末尾。不过,即使 include指令后跟标准块和文本,也可以 <#@include #> 包含类功能的文件。例如下面代码则会报错:

List of Squares:

<#

   for(int i = 0; i < 4; i++)

   {  WriteSquareLine(i); }

#>

抱歉!评论已关闭.