论动软代码生成器的好与坏

  曾几何时,动软代码生成器是一种非常方便的工具,很多从事C#语言的开发人员都用过这个工具,当然也包括楼主本人。

以往的开发模式都是围绕数据库为中心展开的,先设计好数据库,然后再编写代码。动软代码生成器就是在这样的背景下诞生的。

你只要设计好数据库模式,然后用动软代码生成器一键生成数据访问层代码,非常方便。(虽然动软有业务层,但我认为那是鸡肋,只不过是数据访问层的一层简单包装,没有实际意义)

这对不想手动编写枯燥乏味的数据库操作的开发人员来说,非常有吸引力。

  下面楼主凭借自己的经验,从好与坏两个方面来总结动软代码生成器。

优势

  一、自动生成实体类和数据访问代码。

  二、大部分数据库操作都能满足,包括分页

  三、快速开发

劣势

  一、生成的实体类缺少关联性,而大部分实际项目都需要导航

  二、缺少数据库事务支持,所有的操作都是单表的

  三、对有些类型支持不好,比如date和新的datetimeoffset

  四、查询的数据是基于DataSet而不是实体,让人感觉很怪

  五、数据库结构修改就要手动生成代码,如果你修改了动软生成的文件,那就等着哭吧。

  六、不支持从代码生成数据库(Code First)。

  IT领域有句非常著名的格言:没有银弹。没有一劳永逸的解决方案,没有万能药。代码生成器不是银弹。很多年前,我听过这样一种说法,代码生成器可以代替开发人员。

这样说的原因有两个:一,你的开发人员太烂,跟代码生成器差不多;二、你的产品太烂,用代码生成器都可以搞定。不管哪种原因,说这话的人就很烂,哈哈!

  随着IT技术的快速发展,涌现出很多优秀的工具可以替代代码生成器。楼主是做.Net的,给大家推荐几个不错的工具,知道的就权当班门弄斧,不知道的就当做学习。

首推微软的Entity Framework,其次是NHibernate。Entity Framework是微软亲儿子,和微软自家的Sql Server集成得很好。NHibernate是开源的,支持数据库比较多,可移植性好。

如果你不喜欢这些重量级的框架,那么可以考虑用ibatis和dapper。就楼主而已,如果可以选择的话,我会考虑用一下Entity Framework和Linq。Linq真是太牛逼了,不得不佩服微软。

时间: 2024-08-01 10:45:48

论动软代码生成器的好与坏的相关文章

动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以

动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfda86de442d380b.html codesmith  用法实例:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html

使用"动软代码生成器"制作自定义模板的参数表

Host对象属性列表 Host对象方法列表 TableInfo  表对象属性 ColumnInfo  字段信息对象 CodeCommon工具类常用方法 动软代码生成器自带的事例模板 <#@ template language="c#" HostSpecific="True" #><#@ output extension= ".cs" #><#    TableHost host = (TableHost)(Host)

解决“动软代码生成器在SqlServer中会将唯一索引识别为主键&quot;的Bug

动软代码生成器在SqlServer中,生成的代码会将唯一索引错误地识别为主键, 反编译源代码后,发现其中的SQL条件有误,现修复此Bug. 修复方法:将附件中的”Maticsoft.DbObjects.dll“替换安装目录下的相关文件即可.(替换前请做好备份,该修复基于最新版本V2.78) 若安装在默认目录下,也可直接执行附件中的批处理命令. 修复文件:动软代码生成器_主键Bug修复.rar

利用动软代码生成器生成三层架构(上)

第一步: 新建解决方案: 第二步: 使用动软代码生成器 01.工具=>选项=>基本设置 (设置顶级命名空间)       02.设置类命名规则 03.添加字段类型映射(对应sql版本) 第三步:添加服务器 01.选中要生成的数据库,右键=>生成NEt项目=>简单三层结构=>下一步 02.选择所有的表,除了最后一个: 03.开始生成:得到东软代码生成器生成的模板

动软代码生成器分页存储过程

1.定义动软代码生成器分页存储过程 ------------------------------------ --用途:分页存储过程(对有主键的表效率极高) --说明: ------------------------------------ CREATE PROCEDURE [dbo].[UP_GetRecordByPage] @tblName varchar(255), -- 表名 @fldName varchar(255), -- 主键字段名 @PageSize int = 10, --

动软代码生成器使用教程

1. 下载动软代码生成器应用 http://www.onlinedown.net/soft/63546.htm 2. 安装,安装成功后打开应用,如下图: 3. 右键服务器->添加服务器 3. 新建项目,选择合适的模块,下一步后会提示选择数据库与表 4. 生成成功后,会生成如下图的项目: 他会帮你把DbHelper跟一些简单的工具类都生成好,对于搭建一些小型项目而言还是非常方便的. PS:欢迎扫描下方二维码或点击链接,加入QQ群 原文地址:https://www.cnblogs.com/ydcnb

动软代码生成器基础使用

前几天做项目用到了动软代码生成器 对刚出社会的我来说可以说什么都不知道,对此赶紧学习了一下才发现这是李天平老师开发的软件膜拜一下! 以此总结一下 1.软件基本使用 我在百度下载的是V2.78版的 添加服务器 选择要连接的数据库 点击连接/测试 看是否成功,同时选择要连接的数据库,不然加载全部库要等好久的 学习使用呢,下载完成后有在左边模板管理有一个 2.所有对象使用 3.模板生成 这里直接打开生成会报错 需要点开模板代码生成,以下是相应的页面 然后再去点生成模板 可以对相应的字段修改,下面这个是

?C# MVC架构下的数据库操作-动软代码生成器

C# MVC架构下的数据库操作-动软代码生成器 介绍 动软代码生成器能够将数据库中表的数据生成Model层代码,并且封装了可供使用的BLL层和DAL层接口,供开发人员在Net平台上快速的操作数据库 使用方法 1.下载并安装动软代码生成器 2.连接数据库,并生成代码 3.将代码文件夹拷贝到项目中或添加为项目让主项目引用 4.修改DBhelper类,连接数据库 static String dbName = "ec"; static String userName = "ec&qu

mysql 动软代码生成器 生成不了注释的问题?已解决

我是用的Navicat for MySQL8.2.12建立的表我已经对字段描述了 并且 用命令加描述也没用 设计表的时候描述里面有没有对字段做描述啊?如果没有的话就不会生成注释 呵呵.这个问题把动软的代码用ildasm反编译了改两个地方就可以了 1.Extra替换为Comment 2.SHOW COLUMNS FROM替换为SHOW FULL COLUMNS FROM 编译好的代码到这里下载:http://pan.baidu.com/s/1dDvkhhR