动软代码生成器根底运用,动软代码生成工具
分类:计算机编程

前几天做项目用到了动软代码生成器图片 1

最近在研究使用Nhibernate,为写大量打代码和映射搞得头痛。
所以决定写个Nhibernate的代码生成器。
由于以前使用过动软代码生成器他的代码生成功能和模板定制功能都很强大,所以决定基于动软代码生成器写个模板。
首先要安装 动软代码生成器 他是国人开发的,完全免费的代码生成工具。
官方网址:www.maticsoft.com
然后下载我的Nhibernate模板,

 

        本博客所有文章分类的总目录:

对刚出社会的我来说可以说什么都不知道,对此赶紧学习了一下才发现这是李天平老师开发的软件膜拜一下!

最新版下载地址:

 

Newlife XCode组件相关文章目录:

以此总结一下

将压缩包内的Nhibernate文件夹放到 动软代码生成器 安装目录TemplateTemplateFile目录下面
好了,运行 动软代码生成器,在模板管理就能看到Nhibernate文件夹及2个模板文件

动软实战攻略

  XCode让我一个外行业余者转变为一个半专业的开发人员,心怀感激,让我把更多的精力关注在业务,而不是数据库,存储过程,sql,以及编写一遍一遍的垃圾代码。在这里我不对Newlife XCode做过多介绍,XCode曾经是一个轻量级ORM组件,现在XCode加上XCoder,变成了一个非常强大的数据建模工具,支持实体对象数据到不同媒体的数据映射,提供面向对象的方式操作数据库,解决90%以上的数据库操作场景。X系列组件同样功能强大,以前写过很多篇关于XCode的文章,再打算写几篇总结,深入一点的,让大家更多更好的了解XCode的强大功能以及开发效率。

1.软件基本使用

图片 2

 

1.X组件资源汇总与入门文章

我的博客有一篇文章汇总了X组件(主要是XCode)的相关资源和文章:

另外,我特别推荐JangoJing的几篇入门教程,是XCode学习入门的经典文章:

NewLife.XCode 上手指南(1)-基础介绍入门 

NewLife.XCode 上手指南(2)-反向工程使用

NewLife.XCode 上手指南(3)-扩展属性使用

NewLife.XCode 上手指南(4)-级联操作

NewLife.XCode 上手指南(5)-复杂查询 

我在百度下载的是V2.78版的

接下里就让我们来使用模板生成Nhibernate代码吧!

 

2.初识XCoder:基本代码生成功能

XCoder是X组件入门的第一个工具,它的初衷是为XCode提供一个代码生成器,根据自定义的C#语法模版,来批量生成自定义的代码,如模型,业务操作,表单等等。只有学会了XCoder的代码生成才能顺利的使用XCode进行数据库操作。这只是一个工具,使用是非常简单的,但现在XCoder的功能越来越丰富,已经不仅仅是一个代码生成器了,而是一个越来越成熟的数据库建模工具。例如,数据库架构导入导出,新增数据库架构,链接其他类型的数据库,进行数据查询。那今天就逐一了解下这些功能。看看最新版的XCoder界面:

图片 3

 首先简单的给大家介绍一下,主界面上的东西,和用途,这样大家有一个初步的了解,使用就方便了。其实试一试很快就知道了,这里深入点讲解,可能一部分细节对你以后开发有用的。本文最上面的推荐入门文章,其实也很详细的介绍了用法。

1) 在初始启动,没有“连接”数据库时,菜单只有3个:“文件”,“添加模型”,“帮助”。菜单里面的东西都很直观,大家打开看就知道,都是一些细节,比如"Oracle客户端运行时检查","表名字段名命名规范"等等,最好是按照上面的细节要求来,这样兼容性和处理问题就最好。这里的“添加模型”是我去年12月份左右空闲的时候为XCoder增加的一个建模功能,还很粗糙,对简单的项目,可以直接用。目的是在没有任何数据库软件的情况下,进行数据库设计和开发。思想很简单,通过添加模型,生成XCoder指定的XML模型格式,然后利用模型来生成实体,最后在项目中通过“反向工程”来生成数据库;当然这里也可以通过直接导入XML模型来获取架构(第一次要先连接数据库,生成XML架构,以后才可以导入进行操作);

2) 关键的“连接”:这里的“连接”是指“数据库连接字符串”,它是在配置文件进行指定的,所以这里是下列列表,如果需要改动或者新增“连接”,需要打开配置文件。项目开发的时候,也是的,XCode会在默认的项目配置文件中进行查找字符串,是根据“连接名”来匹配查找的,在“实体”模型里面,会把生成实体的“连接名”记住,默认采用此名称;当然在开发的时候,是可以动态对 实体的 连接进行修改的,这个功能就是 “分库分表”的基础,因此在使用XCode的项目中,可以轻易的进行分库分表操作,而实体都是同一个。看看配置中“连接字符串”的格式,以及支持的数据库:

 1 <connectionStrings>
 2     <add name="mssql" connectionString="Data Source=.;Initial Catalog=master;Integrated Security=True;" providerName="System.Data.SqlClient"/>
 3     <add name="access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=XCMS.mdb"/>
 4     <add name="Oracle" connectionString="Data Source=orc;User ID=admin;Password=admin;DllPath=C:OracleClient" providerName="System.Data.OracleClient"/>
 5     <add name="Oracle2" connectionString="Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.34)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORC)));User ID=admin;Password=admin;;DllPath=C:OracleClient" providerName="System.Data.OracleClient"/>
 6     <add name="sqlite" connectionString="Data Source=test.db;" providerName="Sqlite"/>
 7     <add name="MySql" connectionString="Server=.;Port=3306;Database=master;Uid=root;Pwd=root;" providerName="MySql.Data.MySqlClient"/>
 8     <add name="SqlCe" connectionString="Data Source=test.sdf;" providerName="SqlCe"/>
 9     <add name="Firebird" connectionString="Server=.;Database=test.fdb;User=SYSDBA;Password=masterkey;" providerName="FirebirdSql.Data.FirebirdClient"/>
10     <add name="PostgreSQL" connectionString="Server=.;Database=master;Uid=root;Pwd=root;" providerName="PostgreSQL.Data.PostgreSQLClient"/>
11   </connectionStrings>

应该很简单,目前XCode已经不用任何扩展就支持上述7种数据库,当然通过接口,也可以支持你想要的数据库。注意,XCoder界面中下拉列表的集合就是这里字符串的"Name"属性集合。

3) 在配置文件中配置好“连接字符串”后,通过“连接”按钮,就可以实时的获取数据库架构了(当然配置文件要正确哦),这时在"数据库表"下来列表,可以看到指定的“连接字符串”所对应的数据库的所有表了(如果没有这里选择不能用或者没有表,可能是字符串配置有错误哦)。可以选择单个表进行生成,也可以选择所有表生成;当然之前要选择下面的“模版”,XCoder内置了8种模版,也可以自己编写模版,放在指定的目录就可以读取了,如下图所示的8种模版,一般的项目实体主要用“实体数据”,和“实体业务”2个模版,其他的模版其实也挺有用,只不过适用的地方不是特别广泛:

图片 4

注意:如果想参考XCoder的模版语法和编写,可以查看内置模版,点击“释放内置模版”,就可以在XCoder的目录看到Template文件夹了,里面包含了所有的内置模版,自定义的模版也是放在这个文件夹里面的。

 4) 选择好模版之后,下一步就是填写生成代码命名空间的相关信息,主要是:

    命名空间:填写你计划中类库项目的命名空间;

    连接名:这里一定要填写你项目中使用的“数据库连接字符串”的“Name”名称属性,可以和当前的XCoder中的名称不一样,当然最好是一样的,免得自己也搞糊涂了。

    实体基类:一般就是Entity了,但有一个可选的“生成泛型实体类”,因为XCode里面大量的使用泛型基类,所以这里的泛型实体类在设计一些基础模型时是很有用的,如果是初次使用,在没有搞懂XCode的一些原理之前,还是不要勾选为好。

    输出目录:这个就是生成的文件的保存位置,相对与当前目录,可以选择中文文件名,中文文件名称是根据表的备注来的;

    扩展属性编辑器:这个功能是在我的提出下,大石头团队增加的功能,这个功能的目的是提供更多的可选参数,来丰富模版的开发。例如目前界面上的命名空间这些设置,如果有人自定义了很多信息,需要更多的设置项目,怎么办?那就可以在这里面动态添加进行,模版生成的时候,会在这里面进行寻找参数值。

5) 其他的也没什么了,主界面也就这点元素,只要连接字符串配置正确,都很好办。右小角是动态获取的论坛文章列表信息。有兴趣的可以多去论坛看看,那里有很多资源,包括问题和答案,还有大家喜欢的源代码。

图片 5

首先,选择你要生成代码的数据库和表
1.创建数据库连接,点击"数据库连接"图标,或者右击“服务器”图标,点击“添加服务器”

 

3.活用XCoder:模型与架构管理

添加服务器 选择要连接的数据库

图片 6
2.选择数据库类型,填写连接参数之后,点击“连接/测试”,成功之后就可以选择所需要加载的数据库了

 

3.1 导出模型

  在主界面上,顺利连接数据库,获取到架构信息后,可以通过“导出模型”按钮,将数据库的架构信息保存到XML文件中。这样做的好处就是,以后每次修改数据库就不需要使用原始的数据库管理软件了,直接使用XCoder提供的架构管理就可以进行代码生成或者架构更新等操作。同样,在上一节中,也提到了也可以直接通过“导入模型”来获取架构信息,就是这个意思,下面看看导出XML的例子,就是保存了数据表的各种原始信息,如下XML代码,是开源的DTCMS的数据库中的一个表的导出信息格式,太多无法一一列出:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <Tables Version="8.9.4841.25349">
 3   <Table Name="dt_amount_log" Description="充值日志" DbType="SqlServer">
 4     <Columns>
 5       <Column Name="id" DataType="Int32" Identity="True" PrimaryKey="True" Description="自增ID" />
 6       <Column Name="user_id" DataType="Int32" Description="用户ID" />
 7       <Column Name="user_name" DataType="String" Length="100" Description="用户名" />
 8       <Column Name="type" DataType="String" Description="类型" />
 9       <Column Name="order_no" DataType="String" Length="100" Description="订单号" />
10       <Column Name="payment_id" DataType="Int32" Default="0" Description="支付方式" />
11       <Column Name="value" DataType="Decimal" RawType="decimal" Length="9" NumOfByte="5" Precision="9" Scale="2" Default="0" Description="增减值" />
12       <Column Name="remark" DataType="String" Length="500" Description="备注说明" />
13       <Column Name="status" DataType="SByte" Length="3" Precision="3" Default="0" Description="状态0" />
14       <Column Name="add_time" DataType="DateTime" Default="getdate()" Description="生成时间" />
15       <Column Name="complete_time" DataType="DateTime" Description="完成时间" />
16     </Columns>
17     <Indexes>
18       <Index Name="PK_DT_AMOUNT_LOG" Unique="True" PrimaryKey="True" Columns="id" />
19     </Indexes>
20   </Table> 
21 </Tables>

天天和数据库打交到的朋友,应该很清楚的很容易理解,每个表的名称,描述,以及原始的数据库类型,列名的信息,长度等等,以及索引的信息,都包括了。这些信息是代码生成器的基础,同时也是XCode操作的基础。

图片 7

图片 8

 

3.2 数据库架构管理

在导入模型或者连接数据库后,菜单会出现“模型”项,有几个子项目,第一个子菜单就是“数据架构管理”,点击进去之后,界面如下:

图片 9

如上图突出部分显示,可以选择查看“当前数据库连接”下的数据库中的各个“表”的架构信息,同时还可以进行编辑修改,当然也可以直接选择其他“连接字符串”;同时,也可以获取建表的Sql语句等功能;也可以动态添加好字段和索引功能;可以说,可以完全抛弃其他数据库管理工具,直接使用XCoder来完成数据库建模的任务。当然可能某些功能需要完善,当这个小巧的东东如此强大,也许可以大大减轻我们的工作量和关注的事情。而且修改的模型保存为XML后,对所支持的数据库是通用的。

点击连接/测试 看是否成功,同时选择要连接的数据库,不然加载全部库要等好久的

图片 10

手把手教你用动软

3.3 查询分析器

这是XCoder强大的亮点之一,同样是基于“连接字符串”,当XCoder连接上数据库后,就可以通过使用查询分析器,编写sql语句进行查询。为什么强大?也许你懂了,各种数据库都可以在这里查询,这意味这什么,意味着那些庞大的数据库管理软件貌似都不需要了。曾经我电脑上没有查看access和sqlite的软件,后来想到了XCoder的这个功能,马上拿来用,非常好使。看看截图:

图片 11

也就是说通过配置文件,所有XCoder支持的数据库都可以在这里通过sql语句进行查询。这对开发带来的影响也许很小,但对个人习惯来说,确实一大步,毕竟再好的电脑,性能也有限,软件越少越好,越精简越好。

学习使用呢,下载完成后有在左边模板管理有一个

图片 12

 

4.XCoder模版的介绍

  XCoder核心其实就是XCode和XTemplate,上面介绍的以及实际开发用到的基本都是XCode,而模版引擎XTemplate这个强悍的工具,不得不在这里说一说。我的博客曾经有一篇文章里面详细讲到过模版引擎的语法:

1、模板是完全使用C#作为模版语言,把<##>标签外的文本内容当作字符串原样输出,而把<##>标签内作为C#代码执行,因此很容易理解。
2、模板引擎中获取的数据值,传入的Data是一个字典集合,可以根据名称访问,任何获取变量值都要用 <#=  #>,例如<#= Data["NameSpace"]#>,获取字典中key为NameSpace的值,用来作为命名空间。<#= #>同样可以用来获取在模板中定义的的变量值。
3、模板中变量的定义是在<# #>里面定义的,不要=号,定义的时候可以使用<#=#>来替代部分值。如
< # string title = <#=Data["Title"]#>Name#>,这里组合一个字符串,可以在下面调用<#=Title#>
3.另外模板中需要的循环等都要在<# #>里面,其他所有在<# #>都会原样输出。
4.可以看到整个模板中就是这2个东西<##>和<#= #>,他们是关键,虽然没什么难度,但出错了,的确比较麻烦,很难改,当然模板引擎有调试功能,当然多写多改,就经验就好办了。下面来分析一段简单的模板,就是字段定义的,根据Data是一个键值对集合,来生成字段定义,键值对中Key是字段名称,value是字段类型。Data集合中还有2个其他的字段,不能包括在里面,那就是NameSpace和ClassName,所以生成字段的时候要把这2个排除在外,所以下面的循环中有一个判断。

还是看一个很简单的XCoder内置的模版例子,这个例子是根据数据库表来生成“实体的属性”:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 
 5 namespace <#=Config.NameSpace#>
 6 {
 7     /// <summary><#=Table.Description#></summary>
 8     [Serializable]
 9     [DataObject]
10     [Description("<#=("" Table.Description).Replace("\", "\\")#>")]
11     public partial class <#=Table.Name#>
12     {
13         #region 属性<#
14         foreach(IDataColumn Field in Table.Columns)
15         {#>
16         private <#=Field.DataType.Name#> _<#=Field.Name#>;
17         /// <summary><#=Field.Description#></summary>
18         [DisplayName("<#=Field.DisplayName#>")]
19         [Description("<#=("" Field.Description).Replace("\", "\\")#>")]
20         [DataObjectField(<#=Field.PrimaryKey.ToString().ToLower()#>, <#=Field.Identity.ToString().ToLower()#>, <#=Field.Nullable.ToString().ToLower()#>, <#=Field.Length#>)]
21         public <#=Field.DataType.Name#> <#=Field.Name#> { get { return _<#=Field.Name#>; } set { _<#=Field.Name#> = value; } }
22     <# }#>
23     #endregion
24     }
25 }

对照上面的语法,和这段模版,好好讲解一下:

1) 开头的命名空间引用都是原样输出,因为它不在任何的<##>之间;写什么就输出什么

2) 这里的<#=Config.NameSpace#>其实就是获取XCoder界面上的设置:命名空间,包括界面上讲到的扩展属性编辑器,其实就是把键值对放在Config.Items里面,这里就是从Config里面获取界面上输入的信息。<#=XXX#>其实就是获取值进行填充了;

3) <#foreach(IDataColumn Field in Table.Columns){#> 这里的<#  #>是循环语句,也就是说对Table表所有的字段进行遍历,循环进行的操作在括号里面;

4) 其实要点就这么几条,其他的语法都是C#语法,所有模版引擎的编写是非常简单的,模版里面的Table类就是数据库表的架构信息,需要注意的就是括号的匹配,如果不小心括号搞错了,调试还是有些麻烦的。

图片 13

接下来我们来试验生成代码吧
1.设置命名空间
打开“工具”->“选项”

 

5.资源下载

顺便发一个最新版本的XCoder,有兴趣的就研究下哦,用它打造一个自己的代码生成器太简单了。

 XCoder V5.1:

 

图片 14

 

2.所有对象使用

弹出 “选项”窗体,点击“代码生成设置”,选择你要更改命名空间的服务器连接,在顶级命名空间处填写你需要的命名空间名

文档编号:20110421

图片 15

称。我们这里改为“test”

版权所有 © 2004-2011 动软

3.模板生成

图片 16

在线帮助:

图片 17

2.单表代码生成
我们选择要生成代码的表,右击选择“模板代码生成”

 

这里直接打开生成会报错

图片 18

 

图片 19

进入模板生成器,我们先来生成实体,右击 Entity.cmt,选择“打开生成”

目录

需要点开模板代码生成,以下是相应的页面

图片 20

 

图片 21

然后点击“生成代码”按钮,我们就能看到生成的实体类代码了

一.        产品介绍

 

图片 22

二.        下载安装

然后再去点生成模板

图片 23

三.        注册数据库连接

图片 24

我们再来生成XML映射文件,右击 XmlMapping.cmt,选择“打开生成”

四.        查看数据库信息

 

图片 25

五.        新建整个项目

可以对相应的字段修改,下面这个是自带的模板示例 可以照着这个去写自己业务逻辑

点击模板生成器,最下方的“模板”标签,切换回去,然后仍然点击“生成代码”,好了,映射文件生成了

六.        批量代码生成

图片 26

图片 27

七.        单表代码生成

也可以点击批量模板生成

图片 28

八.        父子表代码生成(事务生成)

图片 29

3.批量生成代码文件
右击数据库或者表,选择"模板代码批量生成"

九.        代码生成规则设置

但有一个问题就是生成的文件名都是表名,如果表很多的话就要改很多,我们用生成器就是为了节约时间

图片 30

十.        自动生成存储过程

为了解决这个问题我写了WindowsForms 可以批量修改生成文件的后缀名已达到项目的符合的命名规范

在批量生成界面,选择需要生成的表及模板,还有输出路径,点击“导出”

十一.        自动生成数据库SQL脚本

图片 31

图片 32

十二.        生成数据库文档

批量修改文件名下载地址:

看到完成提示后,关闭窗体,到输出路径的Nhibernate目录下会看到Entity和XmlMapping这2个文件夹,里面就包含了代码文件

十三.        常用工具

参考原文:

图片 33

1.        搜索表功能

 

图片 34

2.        项目发布功能

图片 35
好了,相信大家都会使用了!

3.        代码转换功能

十四.        代码生成组件接口开发

常见问题(单击以下链接查看内容详细)

 

 

 

一.    产品介绍

动软.Net代码生成器 是一款为.Net程序员设计的自动代码生成器,也是一个智能化软件开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model类构造等基础代码片断,支持不同架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。 动软代码生成器 同时提供便捷的开发管理功能和多项开发工作中常用到的辅助工具功能,您可以很方便轻松地进行项目开发。

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

二.    下载安装

  1. 系统要求
    Microsoft Windows2000/XP/2003/7 或者更高。机器必须安装.NET Framework v2.0。
  2. 官方下载地址:
  3. 下载解压后安装包有如下文件:

 

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

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

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

 

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

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

 

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

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

三.    注册数据库连接

安装完成后,首先要做的就是注册数据库的连接,因为所有的代码生成都将从数据库中获取数据结构信息进行生成。

  1. 在软件界面的左侧数据库视图窗口,选择【服务器】,右键出现菜单:

  或 点击第1个按钮

  1. 选择【添加服务器】,然后,出现“选择数据库类型”窗口

 

  1. 根据自己的实际情况,选择一个机器上有的或自己项目中在用的数据库类型。并确保你选择的数据库是可以正常访问的。然后,【下一步】。
  2. 如果选择的是SQL Server,则会出现:

 

注意事项:

(1) 输入服务器IP地址,如果是本机也可以是:(local) 或是 . 或者 127.0.0.1。
    如果服务器并非只有一个默认实例,请采用:服务器实例名 的方式连接。
(2)一定要选择和实际数据库服务器版本一致的选项,否则会导致连接数据库错误。
注意:请使用SQLServer的企业版或正式版本,不能是SQL EXPRESS版,否则无法连接。
(3)身份验证可以选择是SQL Server认证,还是Windows认证。

(4)输入数据库服务器用户名密码。如果不知道,请联系你的数据库管理员。
(5)如果数据库的表比较多,连接速度会比较慢,启用【高效连接模式】实现快速连接。
(6)可以通过【连接/测试】,来连接服务器并获取数据库列表,从而可以实现只选择连接一个库进行操作,减少不必要的连接时间,提高工作效率。

 

  1. 如果选择的是Oracle

 

输入您自己安装过的Oracle的管理员用户名和密码,服务就是安装的Oracle服务名,一般默认是Oracle所在的机器名,如果不确定,请联系您的数据库管理员。

  1. 如果选择的是MySQL

 

  1. 如果选择的是Oledb

 

在地址文本框,可以直接输入Access库的文件地址,注意:库文件尽量不要放在桌面,并且确保你的文件地址正确。如果你的Access并没有设置密码,下面的密码可以不用管。

  1. 如果选择的是SQLite

 

  1. 在以上步骤确定后,动软.NET代码生成器的数据库视图就出现了数据库服务器的信息。

 

四.    查看数据库信息

  1. 在数据库上右键,【浏览数据库】,通过选择库和表可以查看表和字段的信息。

 

 

  1. 选择【新建查询】菜单,即出现SQL的查询分析器窗口,可以输入SQL语句进行查询。
  2. 在表上,右键选择【浏览表数据】,可以查看表的数据内容。

 

 

五.    新建整个项目

在看过了基本的数据库管理功能之外,下面我们就可以开始生成代码了。

首先,一般第一次生成,我们要生成的是整个项目框架。

  1. 选中数据库,然后右键:【新建NET项目】,或者直接点工具栏上的快捷图标均可。

 

  1. 然后,选择项目类型和版本:

 

l  简单三层结构:生成标准的三层架构项目。

l  工厂模式结构:生成基于工厂模式的项目架构,适合一个项目多数据库类型的情况。

l  简单三层结构(管理):生成标准的三层架构项目,并且带有基本的系统管理功能和界面,这些通用的功能主要是节省开发人员的时间,可以在此基础上直接去开发自身业务模块。

这里暂以“简单三层结构(管理)”为例进行说明。

  1. 点击【下一步】,选择要生成的表和配置:

 

双击选择要生成的表,选到右侧列表框。然后点击【开始生成】即可。

如果需要修改一些配置可以修改你自己的命名空间名字,是否去掉表的前缀。

代码模板组件类型,一般初学者建议默认即可。

相关组件说明:

BuilderDALParam        数据访问层(DAL)基于Parameter方式的代码生成组件(推荐)

BuilderDALProc     数据访问层(DAL)基于存储过程方式的代码生成组件

BuilderDALSQL      数据访问层(DAL)基于SQL拼接方式的代码生成组件

BuilderDALTranParam    数据访问层(DAL)带有事务的代码生成组件

DAL由于不同项目要求不同,根据项目需求,选择其中一种方式即可。

BuilderBLLComm    基于标准的业务逻辑层代码(BLL)

BuilderModel  Model层的代码生成组件

BuilderWeb    表示层的代码生成组件

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

 

  1. 点击【开始生成】,则开始进行代码的生成

 

直到出现“项目工程生成成功”提示,项目生成完毕。

  1. 打开生成的文件夹

 

  1. 双击解决方案文件,打开整个项目如图:

 

注:“简单三层结构” 目前暂时是VS2005版本,是为了兼容当前还在用2005的朋友。如果你使用的是VS2008,生成项目后,请先打开VS2008,选择【菜单-文件-打开项目】的方式打开该项目,此时会提示升级项目版本,选择升级一下项目版本到VS2008或VS2010即可,对代码没有任何影响。

  1. 打开Web项目,选中刚才选择生成的那几个表的页面文件夹,右键【包括在项目中】

 

 

  1. 打开web项目下web.config修改数据库连接字符串。

注意:新建项目后,请记得先将安装包里附带的数据库文件Codematic_Data.MDF 附加到SQLServer中。

如果需要加密,可以使用安装包里的加解密工具(官方下载该工具)。

 

 

  1. 然后,选择解决方案进行重新生成整个解决方案。整个创建项目过程即全部完成。

 

 

  1. 如果编译没有错误, 直接按F5键运行即可。整个创建项目过程即全部完成。

运行启动登录页面login.aspx,输入用户名:admin,密码:1  

即登录动软系统框架的后台,界面如下

 

 

六.    批量代码生成

新建项目功能只适合于第一次,因为不可能每次都新建项目,特别是项目已经在开发中。所以,以后的项目开发中更多的应用的是【批量代码生成】功能。批量代码生成特别适合项目后期追加代码时使用。

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

 

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

 

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

 

  1. 选则要生成的表,然后点击【导出】
  2. 在生成的文件夹中,我们可以看到:

 

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

 

七.    单表代码生成

除了新建项目和批量代码生成,偶尔我们希望更个性化自定义一些代码生成的字段,而不是全部的自动生成,这是我们可以考虑针对单表的代码生成。

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

 

 

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

 

选项说明:

  • 项目名称:主要用在生成DB脚本中。
  • 二级命名空间:指的是这个类放在某一个二级文件夹下,从而命名空间中应该带这个文件夹的名字。
  • 顶级命名空间:就是项目的命名空间名称。
  • 类名:可以自己根据表名定义自己需要的名字。
  • 类型:主要是生成什么代码,DB脚本主要生成表的存储过程和表的创建脚本及数据脚本。
  • 架构选择:目前仅支持这3种最常用的架构。
  • 代码类型:指生成指定架构中具体某一个项目中的代码。
  • 代码模板组件类型:指生成代码的方式,因为即使同一个代码有很多的写法,组件主要实现的是不同的写法,但每种写法实现的功能都是一样的。主要看项目需要和个人习惯进行选择。
  • 方法选择:指生成最基本的增删改查的方法代码,后续版本将支持用户自定义这些方法。

 

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

 

  1. 然后,点击【生成代码】按钮,即可生成该类的代码:

 

生成的代码,可以直接复制到项目文件中,也可以右键保存成CS文件。

通过窗体下面的Tab按钮可以来回切换设计视图和代码。

八.    父子表代码生成(事务生成)

日常开发中,经常会遇到父子表的情况,同时需要父子表的记录保存需要在事务中实现,以保证数据的一致性。动软也在功能上做了这方面的考虑。

  1. 在表上,右键,选择【父子表代码生成(事务)】:

 

 

父子表的代码生成分3步窗体:1,2,3,当前第一个窗体主要设置父表和子表,以及二者主外键关联的字段。

  1. 然后,选择【继续设置】

 

 

  1. 点击【生成类代码】:

 

这里的所有插入语句都将放在一个事务里完成。

 

九.    代码生成规则设置

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

 

 

 

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

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

 

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

 

十.    自动生成存储过程

对于习惯使用存储过程的用户,手写表的增、删、改、查的存储过程也是非常头大的事情,动软提供了可以自动生成数据表增删改查的存储过程脚本生成。

主要通过以下几个地方进行生成:

  1. 单表的存储过程生成:

在表上,右键选择【生成存储过程】

 

 

或者:在表上右键,选择【单表代码生成器】,可以更灵活的定义生成存储过程。

 

 

  1. 批量表的存储过程生成。

在数据库上,右键,选择【生成存储过程】,或者选择【导出文件】-【存储过程】。都将生成整个数据库中所有表的存储过程。

 

 

十一.     自动生成数据库SQL脚本

有时候需要迁移数据库,或者生成表结构脚本,导出数据脚本到别的数据库,日常开发中也比较常见,这个可以通过动软自动生成SQL脚本功能来帮您节省大量的时间。

主要通过以下几个地方进行生成:

  1. 单表的数据脚本生成

在表上右键,选择【生成数据脚本】

 

或者,在表上右键,选择【单表代码生成器】,可以更灵活的定义生成存储过程

 

 

生成后:

 

 

  1. 批量表的数据脚本生成。

 

 

出现生成SQL数据库脚本窗口,选择保存的文件名,点击【生成】即可。

 

 

  1. 根据查询结果生成数据脚本。

有时候我们并不像生成整个表的数据脚本,也许表很大,或者其他数据并不需要,只是需要一部分我们需要的数据,生成脚本后,执行导入到其他库,这时候我们可以使用动软代码生成器的这个功能。

在数据库上,右键【新建查询】,或者选择菜单【工具】-【查询分析器】,打开查询语句窗口,输入我们的查询语句,然后单击右键,选择【生成当前查询结果的数据脚本】:

 

则生成的脚本仅仅包括语句查询结果的数据脚本:

 

   如此方便的功能,不得不说很贴心哦。

 

    除此之外,我们可以看到,还有一个非常贴心的功能,就是如果数据访问层使用的是基于SQL拼接的方式的DAL,有时候为了拼写一段长长的SQL语句,眼都看花了,看看动软这个功能吧:

在查询分析器中,测试我们的查询语句,然后,右键选择【生成当前查询SQL语句的拼接代码】

 

 

生成后,这些代码我们直接就可以复制到数据访问层,不用再用手一个个敲了,省出来的时间我们可以去喝咖啡喽。

 

 

 

十二.     生成数据库文档

日常开发,表一多,是不是就头疼每个字段什么意思,以及数据库总是变,文档维护起来很麻烦。特别是新人加入项目团队时,如果没有数据库文档,那么更是云里雾里的搞不清各种数据的意思。动软.NET代码生成器,可以帮你解决这个问题,它可以根据选定的数据库和表批量生成所有表的字段详细信息,包括默认值,描述等表结构信息。免去手工写文档和维护的麻烦,真的不用加班熬夜,可以早回家了。

  1. 选中要生成的数据库,然后选中工具栏【生成数据库文档】按钮。

 

 

  1. 然后,选中需要生成的表

 

这里提供了两种格式的文档,一种是Word格式的,但需要本机安装Office2003或2007。另一种是网页格式,可以生成两种界面风格的网页格式数据库文档。

 

十三.     常用工具

  1. 1.  搜索表功能

 

 

 

 

  1. 2.  项目发布功能

当Web项目开发完毕,我们一般需要把项目发布到一个测试服务器或者生产环境去,但发布的时候,只想发布我们需要发布的文件,或者不想发布一些我们不需要的文件。虽然VS.NET自带的有发布功能,但有时候觉得使用起来还不是那么灵活方便,动软提供了此功能,让你更灵活,简捷的发布网站文件。

选择菜单【工具】-【web项目发布】

 

 

点击【设置】按钮,我们可以设置发布的规则。

 

 

  1. 3.  代码转换功能

这是早期版本留下了的一个代码转换工具,可以支持C#代码到VB代码的转换。

 

十四.     代码生成组件接口开发

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

该组件源码可以在下载的安装包里面看到或者去官方网站下载。

 

开发步骤:

1.  引用
Lib文件夹下提供了接口类库,添加4个dll的引用:
LTP.CodeHelper.dll
LTP.IBuilder.dll
LTP.IDBO.dll
LTP.Utility.dll

2.  并在类中using

using LTP.Utility;
using LTP.IDBO;
using LTP.CodeHelper;

3.  继承

DAL数据访问层模板组件:public class BuilderDAL : LTP.IBuilder.IBuilderDAL
BLL业务逻辑层模板组件:public class BuilderBLL : LTP.IBuilder.IBuilderBLL

4.  接口方法

具体参考插件源码项目。安装包中提供了插件的源码。

5.  使用配置

【工具】-【选项】-【组件管理】 

在【代码参数】或代码生成器窗口,即可以看到如下插件列表:

 

 

常见问题(单击以下链接查看内容详细)

§  通过partial关键字扩展代码生成器生成的代码 

§  动软左侧树菜单导航,无法正常显示? 

§  动软新建项目(示例项目)如何登录? 

§  Access用OleDbParameter无法更新数据解决方案 

§  动软DBUtility类库DbHelperSQL实现多数据库连接 

§  动软.net代码生成器 启动报错退出解决方法 

§  Asp.net1.0升级ASP.NET 2.0的几个问题总结 

§  示例项目源码无法创建对象实例的常见错误说明 

 

 

本文由pc28.am发布于计算机编程,转载请注明出处:动软代码生成器根底运用,动软代码生成工具

上一篇:log4net日志文件的接受,ashx程序里的使用 下一篇:没有了
猜你喜欢
热门排行
精彩图文