zoukankan      html  css  js  c++  java
  • 开局篇:ORM之选择——轻量级ORM:PetaPoco/NPoco

    作为C/S架构下的老码农(开发工具:PowerBuilder,年龄:30+),学习.net是一件很痛苦的事情。至于为什么痛苦,我只想用两位大牛说的话来总结:

    1.尼尔·波兹曼:媒介即隐喻。http://www.21ccom.net/articles/sxpl/sx/article_2011022030205.html

    2.Joshua Bloch:选择编程语言就像选择酒吧。http://www.programmer.com.cn/4353/

    虽然很痛苦,但是为了孩子的奶粉和老婆的笑脸,必须坚持下去。

    好,下面进入正题。

    对于我关注的MIS程序而言,第一要考虑的问题就是与数据库的交互。这方面在PB中根本就不是事,因为PB提供了并仅提供了一种与数据库直接交互的形式——内置了对SQL的支持,简单高效。无论Selet、Update、Insert、Delete,还是对存储过程、事务的支持,都无需也无法选择。

    而在.net下,或许为了语言的纯粹性,对SQL的支持变成了变种的LinQ,而与数据库的交互,变得五花八门。大体三种选择:

    1.重量级ORM——EF、NHibernate等。

    2.轻量级ORM——PetaPoco/NPoco、Dapper等。

    3.无ORM——各种Helper、微软企业库等。

    其中的各种优缺点对比啥的我就不奢谈了,只说下我为什么选择PetaPoco/NPoco:

    1.完整的Poco(简单CLR对象)级别的ORM。

    2.可直接写SQL。

    3.提供CRUD、分页等帮助方法。

    4.提供SQL Builder方法。

    5.内置T4模板。

    ……

    选择PetaPoco之后,我又进一步选择了PetaPoco的一个发行版NPoco,原因:

    1.支持单表多主键。——貌似PetaPoco不支持。

    2.支持LinQ。——虽然我目前用不上,但是据说“实现IRepository”需要。虽然我目前还不明白IRepository这种编程方法。

    既选之,则安之。在可预见的将来,在ORM方面,本博将以NPoco为主。

    努力吧!骚年!!!

  • 相关阅读:
    JAVA课程设计+五子棋游戏
    201521123059 《Java程序设计》第十四周学习总结
    201521123059 《Java程序设计》第十三周学习总结
    软工个人总结
    alpha阶段个人总结
    centos 下构建lamp环境
    软工15作业3——案例分析
    结对编程
    201521123058 软工阅读第二次作业
    软工阅读作业1(201521123058 李绍乐)
  • 原文地址:https://www.cnblogs.com/dusdong/p/ORM_PetaPoco_NPoco.html
Copyright © 2011-2022 走看看