• 几种代码生成器的叙述


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

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

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

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

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

    优势

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

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

      三、快速开发

    劣势

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    「BZOJ 1000」A+B Problem
    「HNOI 2008」越狱
    蓝桥杯 拼音字母
    蓝桥杯 抽签
    蓝桥杯 快速排序
    [蓝桥杯] 最大比例
    [蓝桥杯] 交换瓶子
    [蓝桥杯] 四平方和
    [蓝桥杯] 剪邮票
    [蓝桥杯] 方格填数
  • 原文地址:https://www.cnblogs.com/proving/p/8191321.html
Copyright © 2020-2023  润新知