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为主。

    努力吧!骚年!!!

  • 相关阅读:
    添加外部文件夹代码文件到项目中使用
    在.NET Core console application中使用User Secrets(用户机密)
    RBAC用户特别授权的思考
    Service Fabric部署笔记
    ubuntu12.04 rvm 搭建 Ruby on Rails
    thinkphp 查询当天 ,本周,本月,本季度,本年度,全部, 数据方法
    php 计算该用户IP在网页停留的时间
    ubuntu下安装sublime text2
    快速找到php方法-------php 反射。。
    QQ快速登录
  • 原文地址:https://www.cnblogs.com/dusdong/p/ORM_PetaPoco_NPoco.html
Copyright © 2011-2022 走看看