论动软代码生成器的好与坏
Posted 涉谷猫猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论动软代码生成器的好与坏相关的知识,希望对你有一定的参考价值。
曾几何时,动软代码生成器是一种非常方便的工具,很多从事C#语言的开发人员都用过这个工具,当然也包括楼主本人。
以往的开发模式都是围绕数据库为中心展开的,先设计好数据库,然后再编写代码。动软代码生成器就是在这样的背景下诞生的。
你只要设计好数据库模式,然后用动软代码生成器一键生成数据访问层代码,非常方便。(虽然动软有业务层,但我认为那是鸡肋,只不过是数据访问层的一层简单包装,没有实际意义)
这对不想手动编写枯燥乏味的数据库操作的开发人员来说,非常有吸引力。
下面楼主凭借自己的经验,从好与坏两个方面来总结动软代码生成器。
优势
一、自动生成实体类和数据访问代码。
二、大部分数据库操作都能满足,包括分页
三、快速开发
劣势
一、生成的实体类缺少关联性,而大部分实际项目都需要导航
二、缺少数据库事务支持,所有的操作都是单表的
三、对有些类型支持不好,比如date和新的datetimeoffset
四、查询的数据是基于DataSet而不是实体,让人感觉很怪
五、数据库结构修改就要手动生成代码,如果你修改了动软生成的文件,那就等着哭吧。
六、不支持从代码生成数据库(Code First)。
IT领域有句非常著名的格言:没有银弹。没有一劳永逸的解决方案,没有万能药。代码生成器不是银弹。很多年前,我听过这样一种说法,代码生成器可以代替开发人员。
这样说的原因有两个:一,你的开发人员太烂,跟代码生成器差不多;二、你的产品太烂,用代码生成器都可以搞定。不管哪种原因,说这话的人就很烂,哈哈!
随着IT技术的快速发展,涌现出很多优秀的工具可以替代代码生成器。楼主是做.Net的,给大家推荐几个不错的工具,知道的就权当班门弄斧,不知道的就当做学习。
首推微软的Entity Framework,其次是NHibernate。Entity Framework是微软亲儿子,和微软自家的Sql Server集成得很好。NHibernate是开源的,支持数据库比较多,可移植性好。
如果你不喜欢这些重量级的框架,那么可以考虑用ibatis和dapper。就楼主而已,如果可以选择的话,我会考虑用一下Entity Framework和Linq。Linq真是太牛逼了,不得不佩服微软。
以上是关于论动软代码生成器的好与坏的主要内容,如果未能解决你的问题,请参考以下文章