手把手教你用动软.NET代码生成器实例教程
动软实战攻略
文档编号:20110421
版权所有 © 2004-2011 动软
在线帮助:http://help.maticsoft.com
目录
动软.Net代码生成器 是一款为.Net程序员设计的自动代码生成器,也是一个智能化软件开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model类构造等基础代码片断,支持不同架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。动软代码生成器 同时提供便捷的开发管理功能和多项开发工作中常用到的辅助工具功能,您可以很方便轻松地进行项目开发。
动软让软件开发变得轻松而快乐!让企业不断提升开发效率,同样的时间创造出更大的价值。
1. 系统要求:
Microsoft Windows2000/XP/2003/7 或者更高。机器必须安装.NET Framework v2.0。
2. 官方下载地址:http://www.maticsoft.com/download.aspx
3. 下载解压后安装包有如下文件:
Codematic2.msi 是动软.NET代码生成器的安装文件。
Builder文件夹是代码生成插件的源码,动软.NET代码生成器支持可扩展的代码生成插件,用户可以定制自己的代码生成的插件,根据接口开发自己的代码生成方式,按自己的需求进行代码生成。
Codematic_Data.MDF和Codematic_Log.LDF是通过动软新建项目中所带管理模块所需要的数据库文件。后台管理员默认登录用户名:admin 密码:1
4. 双击Codematic2.msi 进行直接安装即可。
安装动软时,如果用户机器360弹出警告,那仅仅是个签名认证提示,并非木马,选择“继续安装”,然后点击“确定”即可。
动软郑重声明:动软.NET代码生成器,绝无插件木马,纯绿色软件。请放心安装。
5. 安装成功后,在开始-菜单和桌面上会有动软.NET代码生成器的图标。
安装完成后,首先要做的就是注册数据库的连接,因为所有的代码生成都将从数据库中获取数据结构信息进行生成。
1. 在软件界面的左侧数据库视图窗口,选择【服务器】,右键出现菜单:
或 点击第1个按钮
2. 选择【添加服务器】,然后,出现“选择数据库类型”窗口
3. 根据自己的实际情况,选择一个机器上有的或自己项目中在用的数据库类型。并确保你选择的数据库是可以正常访问的。然后,【下一步】。
4. 如果选择的是SQL Server,则会出现:
注意事项:
(1) 输入服务器IP地址,如果是本机也可以是:(local) 或是. 或者 127.0.0.1。
如果服务器并非只有一个默认实例,请采用:服务器\实例名的方式连接。
(2)一定要选择和实际数据库服务器版本一致的选项,否则会导致连接数据库错误。
注意:请使用SQLServer的企业版或正式版本,不能是SQL EXPRESS版,否则无法连接。
(3)身份验证可以选择是SQL Server认证,还是Windows认证。
(4)输入数据库服务器用户名密码。如果不知道,请联系你的数据库管理员。
(5)如果数据库的表比较多,连接速度会比较慢,启用【高效连接模式】实现快速连接。
(6)可以通过【连接/测试】,来连接服务器并获取数据库列表,从而可以实现只选择连接一个库进行操作,减少不必要的连接时间,提高工作效率。
5. 如果选择的是Oracle
输入您自己安装过的Oracle的管理员用户名和密码,服务就是安装的Oracle服务名,一般默认是Oracle所在的机器名,如果不确定,请联系您的数据库管理员。
6. 如果选择的是MySQL
7. 如果选择的是Oledb
在地址文本框,可以直接输入Access库的文件地址,注意:库文件尽量不要放在桌面,并且确保你的文件地址正确。如果你的Access并没有设置密码,下面的密码可以不用管。
8. 如果选择的是SQLite
9. 在以上步骤确定后,动软.NET代码生成器的数据库视图就出现了数据库服务器的信息。
1. 在数据库上右键,【浏览数据库】,通过选择库和表可以查看表和字段的信息。
2. 选择【新建查询】菜单,即出现SQL的查询分析器窗口,可以输入SQL语句进行查询。
3. 在表上,右键选择【浏览表数据】,可以查看表的数据内容。
4.
在看过了基本的数据库管理功能之外,下面我们就可以开始生成代码了。
首先,一般第一次生成,我们要生成的是整个项目框架。
1. 选中数据库,然后右键:【新建NET项目】,或者直接点工具栏上的快捷图标均可。
2. 然后,选择项目类型和版本:
l 简单三层结构:生成标准的三层架构项目。
l 工厂模式结构:生成基于工厂模式的项目架构,适合一个项目多数据库类型的情况。
l 简单三层结构(管理):生成标准的三层架构项目,并且带有基本的系统管理功能和界面,这些通用的功能主要是节省开发人员的时间,可以在此基础上直接去开发自身业务模块。
这里暂以“简单三层结构(管理)”为例进行说明。
3. 点击【下一步】,选择要生成的表和配置:
双击选择要生成的表,选到右侧列表框。然后点击【开始生成】即可。
如果需要修改一些配置可以修改你自己的命名空间名字,是否去掉表的前缀。
代码模板组件类型,一般初学者建议默认即可。
相关组件说明:
BuilderDALParam 数据访问层(DAL)基于Parameter方式的代码生成组件(推荐)
BuilderDALProc 数据访问层(DAL)基于存储过程方式的代码生成组件
BuilderDALSQL 数据访问层(DAL)基于SQL拼接方式的代码生成组件
BuilderDALTranParam 数据访问层(DAL)带有事务的代码生成组件
DAL由于不同项目要求不同,根据项目需求,选择其中一种方式即可。
BuilderBLLComm 基于标准的业务逻辑层代码(BLL)
BuilderModel Model层的代码生成组件
BuilderWeb 表示层的代码生成组件
备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。
4. 点击【开始生成】,则开始进行代码的生成
直到出现“项目工程生成成功”提示,项目生成完毕。
5. 打开生成的文件夹
6. 双击解决方案文件,打开整个项目如图:
注:“简单三层结构”目前暂时是VS2005版本,是为了兼容当前还在用2005的朋友。如果你使用的是VS2008,生成项目后,请先打开VS2008,选择【菜单-文件-打开项目】的方式打开该项目,此时会提示升级项目版本,选择升级一下项目版本到VS2008或VS2010即可,对代码没有任何影响。
7. 打开Web项目,选中刚才选择生成的那几个表的页面文件夹,右键【包括在项目中】
8. 打开web项目下web.config修改数据库连接字符串。
注意:新建项目后,请记得先将安装包里附带的数据库文件Codematic_Data.MDF 附加到SQLServer中。
如果需要加密,可以使用安装包里的加解密工具(官方下载该工具)。
9. 然后,选择解决方案进行重新生成整个解决方案。整个创建项目过程即全部完成。
10.如果编译没有错误, 直接按F5键运行即可。整个创建项目过程即全部完成。
运行启动登录页面login.aspx,输入用户名:admin,密码:1
即登录动软系统框架的后台,界面如下
新建项目功能只适合于第一次,因为不可能每次都新建项目,特别是项目已经在开发中。所以,以后的项目开发中更多的应用的是【批量代码生成】功能。批量代码生成特别适合项目后期追加代码时使用。
1. 选中数据库或者表,然后单击右键菜单【代码批量生成】
2. 出现的窗口和新建项目基本相似,只是多了一个选中架构的选项。
备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。
3. 选则要生成的表,然后点击【导出】
4. 在生成的文件夹中,我们可以看到:
批量生成代码只生成业务表的代码,不再有解决方案文件和项目文件,以及其它类库等。我们可以将生成的这些文件直接拖到现有的解决方案中即可。
除了新建项目和批量代码生成,偶尔我们希望更个性化自定义一些代码生成的字段,而不是全部的自动生成,这是我们可以考虑针对单表的代码生成。
1. 在左侧【数据库视图】,选中表,右键菜单【单表代码生成器】
2. 然后,出现单表的代码生成器界面,我们设置自己需要更改的信息。
选项说明:
Ø 项目名称:主要用在生成DB脚本中。
Ø 二级命名空间:指的是这个类放在某一个二级文件夹下,从而命名空间中应该带这个文件夹的名字。
Ø 顶级命名空间:就是项目的命名空间名称。
Ø 类名:可以自己根据表名定义自己需要的名字。
Ø 类型:主要是生成什么代码,DB脚本主要生成表的存储过程和表的创建脚本及数据脚本。
Ø 架构选择:目前仅支持这3种最常用的架构。
Ø 代码类型:指生成指定架构中具体某一个项目中的代码。
Ø 代码模板组件类型:指生成代码的方式,因为即使同一个代码有很多的写法,组件主要实现的是不同的写法,但每种写法实现的功能都是一样的。主要看项目需要和个人习惯进行选择。
Ø 方法选择:指生成最基本的增删改查的方法代码,后续版本将支持用户自定义这些方法。
备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。
3. 然后,点击【生成代码】按钮,即可生成该类的代码:
生成的代码,可以直接复制到项目文件中,也可以右键保存成CS文件。
通过窗体下面的Tab按钮可以来回切换设计视图和代码。
日常开发中,经常会遇到父子表的情况,同时需要父子表的记录保存需要在事务中实现,以保证数据的一致性。动软也在功能上做了这方面的考虑。
1. 在表上,右键,选择【父子表代码生成(事务)】:
父子表的代码生成分3步窗体:1,2,3,当前第一个窗体主要设置父表和子表,以及二者主外键关联的字段。
2. 然后,选择【继续设置】
3. 点击【生成类代码】:
这里的所有插入语句都将放在一个事务里完成。
打开菜单【工具】-【选项】-【代码生成设置】
这些配置保存后,在生成代码的时候将按照这个规则进行生成。
代码生成的规则设置范围还在不断增加中。
另外,不同数据库类型的数据类型各有不同,这里提供了字段类型和C#中的类型建立映射关系,生成代码时将按映射关系来生成代码字段属性的类型。
对于习惯使用存储过程的用户,手写表的增、删、改、查的存储过程也是非常头大的事情,动软提供了可以自动生成数据表增删改查的存储过程脚本生成。
主要通过以下几个地方进行生成:
1. 单表的存储过程生成:
在表上,右键选择【生成存储过程】
或者:在表上右键,选择【单表代码生成器】,可以更灵活的定义生成存储过程。
2. 批量表的存储过程生成。
在数据库上,右键,选择【生成存储过程】,或者选择【导出文件】-【存储过程】。都将生成整个数据库中所有表的存储过程。
有时候需要迁移数据库,或者生成表结构脚本,导出数据脚本到别的数据库,日常开发中也比较常见,这个可以通过动软自动生成SQL脚本功能来帮您节省大量的时间。
主要通过以下几个地方进行生成:
1. 单表的数据脚本生成
在表上右键,选择【生成数据脚本】
或者,在表上右键,选择【单表代码生成器】,可以更灵活的定义生成存储过程
生成后:
2. 批量表的数据脚本生成。
出现生成SQL数据库脚本窗口,选择保存的文件名,点击【生成】即可。
3. 根据查询结果生成数据脚本。
有时候我们并不像生成整个表的数据脚本,也许表很大,或者其他数据并不需要,只是需要一部分我们需要的数据,生成脚本后,执行导入到其他库,这时候我们可以使用动软代码生成器的这个功能。
在数据库上,右键【新建查询】,或者选择菜单【工具】-【查询分析器】,打开查询语句窗口,输入我们的查询语句,然后单击右键,选择【生成当前查询结果的数据脚本】:
则生成的脚本仅仅包括语句查询结果的数据脚本:
如此方便的功能,不得不说很贴心哦。
除此之外,我们可以看到,还有一个非常贴心的功能,就是如果数据访问层使用的是基于SQL拼接的方式的DAL,有时候为了拼写一段长长的SQL语句,眼都看花了,看看动软这个功能吧:
在查询分析器中,测试我们的查询语句,然后,右键选择【生成当前查询SQL语句的拼接代码】
生成后,这些代码我们直接就可以复制到数据访问层,不用再用手一个个敲了,省出来的时间我们可以去喝咖啡喽。
日常开发,表一多,是不是就头疼每个字段什么意思,以及数据库总是变,文档维护起来很麻烦。特别是新人加入项目团队时,如果没有数据库文档,那么更是云里雾里的搞不清各种数据的意思。动软.NET代码生成器,可以帮你解决这个问题,它可以根据选定的数据库和表批量生成所有表的字段详细信息,包括默认值,描述等表结构信息。免去手工写文档和维护的麻烦,真的不用加班熬夜,可以早回家了。
1. 选中要生成的数据库,然后选中工具栏【生成数据库文档】按钮。
2. 然后,选中需要生成的表
这里提供了两种格式的文档,一种是Word格式的,但需要本机安装Office2003或2007。另一种是网页格式,可以生成两种界面风格的网页格式数据库文档。
当Web项目开发完毕,我们一般需要把项目发布到一个测试服务器或者生产环境去,但发布的时候,只想发布我们需要发布的文件,或者不想发布一些我们不需要的文件。虽然VS.NET自带的有发布功能,但有时候觉得使用起来还不是那么灵活方便,动软提供了此功能,让你更灵活,简捷的发布网站文件。
选择菜单【工具】-【web项目发布】
点击【设置】按钮,我们可以设置发布的规则。
这是早期版本留下了的一个代码转换工具,可以支持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. 使用配置
【工具】-【选项】-【组件管理】
在【代码参数】或代码生成器窗口,即可以看到如下插件列表:
常见问题(单击以下链接查看内容详细)
§ Access用OleDbParameter无法更新数据解决方案
§ 动软DBUtility类库DbHelperSQL实现多数据库连接
§ Asp.net1.0升级ASP.NET 2.0的几个问题总结
手把手教你用动软.NET代码生成器实例教程的更多相关文章
- 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)
首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...
- 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)
简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之.一次偶然的机会, ...
- 手把手教你Pytest+Allure2.X定制报告详细教程,给自己的项目量身打造一套测试报告-02(非常详细,非常实用)
简介 前边一篇文章是分享如何搭建pytest+Allure的环境,从而生成一份精美的.让人耳目一新的测试报告,但是有的小伙伴或者童鞋们可能会问,我能不能按照自己的想法为我的项目测试结果量身打造一份属于 ...
- 手把手教你实现自己的abp代码生成器
代码生成器的原理无非就是得到字段相关信息(字段名,字段类型,字段注释等),然后根据模板,其实就是字符串的拼接与替换生成相应代码. 所以第一步我们需要解决如何得到字段的相关信息,有两种方式 通过反射获得 ...
- 手把手教你安装mac版hadoop2.7.3教程
一.准备教程 1.jdk:版本在1.7.x以上就可以(因为hadoop2.x以上只支持1.7.x以上的jdk,我的是1.8的) 2.Hadoop:2.7.3 二.ssh的配置以及验证 配置ssh: 1 ...
- 手把手教你安装Eclipse最新版本的详细教程 - 大佬的鸡肋,菜鸟的盛宴(非常详细,非常实用)
简介 首先声明此篇文章主要是针对测试菜鸟或者刚刚入门的小伙们或者童鞋们,大佬就没有必要往下看了. 写这篇文章的由来是因为后边要用这个工具,但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具,为了方 ...
- 手把手教你使用FineUI+动软代码生成器开发一个b/s结构的取送货管理信息系统(附源码)之开篇
一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...
- C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入
C# 嵌入dll 在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...
- 解决“动软代码生成器在SqlServer中会将唯一索引识别为主键"的Bug
动软代码生成器在SqlServer中,生成的代码会将唯一索引错误地识别为主键, 反编译源代码后,发现其中的SQL条件有误,现修复此Bug. 修复方法:将附件中的”Maticsoft.DbObjects ...
随机推荐
- linux configure
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...
- Java进程间通信
传统的进程间通信的方式有大致如下几种: (1) 管道(PIPE) (2) 命名管道(FIFO) (3) 信号量(Semphore) (4) 消息队列(MessageQueue) (5) ...
- 修改delphi xe6 FMX Label字体颜色
delphi fmx的字体等设置默认与皮肤有关,用代码直接修改字体颜色等是无效的,如何才能用代码修改呢?请按以下方法就可以: 1.在Object inspector中取消StlyedSettings中 ...
- zepto源码--classRE、maybeAddPx、children、defaultDisplay--学习笔记
1.classRE 对获取className的操作,进行缓存.如果缓存中有,直接读取缓存中的值,如果没有,则先进行缓存的存储,再读取值. 利用前面变量定义的classCache={}进行缓存的操作,如 ...
- 经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目。
1.在eclipse的项目上点右键,刷新项目.2.在项目上点右键,进入属性(properties)3.在左侧列表项目中点击选择“Project Facets”,在右侧选择“Dynamic Web Mo ...
- ECSHOP给分类添加图
1.修改/admin/template/category_info.html <tr> <td>{$lang.cat_img}:</td> <td> & ...
- Mac 系统下将普通文件变为可执行文件
在使用Cocospods时,老是提示我pod文件里面有文稿的东西.后来想到前同事将他变为可执行文件了.所以百度了一下,方法如下: chmod +x (此处是文件的地址) 就可以了
- asp.net批量删除XML节点失败的原因及解决办法
今天操作XML的时候,用到了批量循环删除节点.出现了问题,即循环未结束,程序就跳出循环.搞了好久才弄明白. 解决前的代码: XmlNodeList items = xn.ChildNodes; //获 ...
- 【转】Android新组件Material Dialog,SwipeRefreshLayout,ListPopupWindow,PopupMenu等
朝花夕拾----新组件的学习和使用 分类: Android UI2015-06-26 11:31 440人阅读 评论(0) 收藏 举报 uidialogMaterial 目录(?)[-] Mate ...
- javascript知识点记录(1)
javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...