zoukankan      html  css  js  c++  java
  • .Net Core ORM

    无论选择什么样的框架,我们都希望项目 性能比较好 、 功能比较完善、 方便以后可以切换数据库、并且要有一定用户基础的ORM 

    参赛ORM

    能够参赛的ORM必须要有以下个条件

    第一、功能方面要比较完善

    第二、Github需要有一定人气并且最近有更新

    第三、支持多种数据库少写Sql,方便以后

    筛选结果:

    1、EF Core

    2、Dapper+扩展

    3、SqlSugar Core

    4、Nhibernate Core

    5、PetaPoco

    第一轮淘汰赛  我们比 人气&功能

    经过对这几个ORM的初步了解,对功能方面和人气方面进行了初步评分

    1、EF Core     人气10,功能10

    2、Dapper+扩展  人气10,功能9

    3、SqlSugar Core  人气7,功能10

    4、Nhibernate Core 人气7,功能10 

    5、PetaPoco 人气6,功能6

    经过第一轮帅选,我淘淘汰了PetaPoco ORM

     最重要的是这个ORM定位比较尴尬 ,功能一般并且扩展插件也比较稀少。现有功能以拼Sql为主满足不了我以后切换数据库的需求,第一轮淘态。

    第一轮得分排名

    1、EF Core 胜出     

    2、Dapper+扩展   胜出 

    3、SqlSugar Core  ,Nhibernate Core 胜出 

    4、PetaPoco 淘汰

    第二轮淘汰赛 我们比易用性

    写太牛逼的功能并不是我们所考虑的,需要上手快好用,于是我针对项目中几个需求点进行了上手测试,并给出了评分

    1、EF Core  10   轻松满足

    2、Dapper+扩展   8  需要找插件比较费时间

    3、SqlSugar Core 10   轻松满足

    4、Nhibernate Core  1 完全不会用

    第二轮得分排名

    1、EF Core,SqlSugar Core   胜出     

    2、Dapper+扩展   胜出 

    3、Nhibernate Core  淘汰 

    能够通过精心挑选并且进入前3名,相信这3个ORM都有他们独自的魅力

    第三轮淘汰赛 我们比性能

    经过对 批量插入、单条插入、批量更新、单条更新、条件查询、多选删除等几种常用场景的并发测试

    我意外的发现SqlSugar性能比Dapper更加的优秀,EF Core垫底

    第三轮得分排名

    1、SqlSugar Core   胜出     

    2、Dapper+扩展   胜出 

    3、EF Core  淘汰 

    通过上面各种环节我们可以发现,我都会淘汰每场比赛表现最差者,因为我想找一个比较平衡的ORM用于项目,不想有短腿。

    决赛 我们比大家的建议

    目前Dapper+扩展和SqlSugar Core  这2个ORM是最适合我们的团队的,同事之间也各有说词,暂且平手吧。明天我们公司会在进行讨论。写个博文让大家给给建议,进行最终定夺。

    下面是这2款ORM地址:

    Dapper

    https://github.com/StackExchange/Dapper

    https://github.com/tmsmith/Dapper-Extensions

    SqlSugar

    https://github.com/sunkaixuan/SqlSugar

  • 相关阅读:
    Oracle 经典语法(三)
    String.format() 方法的用处
    window 官网下载系统
    微信小程序在wxml中调用自定义函数
    前后端分离 poi使用
    微信分享
    微信支付 (jsapi 方式)
    tomcat配置多个ssl证书
    netty websocket集群下遇到的问题
    CompletableFuture 简介和使用
  • 原文地址:https://www.cnblogs.com/BabyRui/p/10214566.html
Copyright © 2011-2022 走看看