返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ORM框架之Dapper简介和性能测试
  • 911
分享到

ORM框架之Dapper简介和性能测试

2024-04-02 19:04:59 911人浏览 八月长安
摘要

Dapper的简介 Dapper是.net下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。Dapper只有一个代码

Dapper的简介

Dapper是.net下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快。 使用ORM的好处是增、删、改很快,不用自己写sql,因为这都是重复技术含量低的工作,还有就是程序中大量的从数据库中读数据然后创建model,并为model字段赋值。这些ORM都可以轻松给你搞定。ORM给我们开发带来便利时,性能也是一个让我们不得不考虑的问题。一般的ORM性能和直接写原生的sql比都差不少,但是Dapper性能还很错,甚至和DbHelperSQL方式性能高出很多。

Dapper的优势

  1. Dapper是一个轻型的ORM类。代码就一个SqlMapper.cs文件,编译后体积小。
  2. Dapper很快。Dapper的速度接近与IDataReader,取列表的数据超过了DataTable。
  3. Dapper支持多数据库。诸如:Mysql,SqlLite,Mssql系列,oracle等一系列的数据库。
  4. Dapper的R支持多表并联的对象。支持一对多 多对多的关系。并且没侵入性,想用就用,不想用就不用,无XML无属性,代码以前怎么写现在还怎么写。
  5. Dapper原理通过Emit反射IDataReader的序列队列,来快速的得到和产生对象,性能高。
  6. Dapper支持net2.0及以上版本
  7. Dapper语法十分简单,并且无须迁就数据库的设计。

Dapper的性能

Dapper 的主要特点是性能。以下数据显示对一个数据库执行 SELECT 出 500 条,并把数据映射到对象中需要多长时间。

性能测试分为三个方面:

  1. POCO 序列化框架,支持从数据库获得静态类型的对象。使用原始的 SQL。
  2. 动态序列化框架,支持返回对象的动态列表。
  3. 典型的框架用法。往往不会涉及编写 SQL。

1. Performance of SELECT mapping over 500 iterations - POCO 序列化

方法持续时间(毫秒)备注
Hand coded (using a SqlDataReader)47Can be faster
Dapper ExecuteMapperQuery49同上
ServiceStack.OrmLite (QueryById)50同上
PetaPoco52同上
BLToolkit80同上
SubSonic codingHorror107同上
NHibernate SQL104同上
Linq 2 SQL ExecuteQuery181同上
Entity framework ExecuteStoreQuery631同上

2. Performance of SELECT mapping over 500 iterations - dynamic 序列化

方法持续时间(毫秒)备注
Dapper ExecuteMapperQuery (dynamic)48 
Massive52 
Simple.Data95 

3. Performance of SELECT mapping over 500 iterations - 典型用法

方法 持续时间(毫秒)备注
Linq 2 SQL CompiledQuery81Not super typical involves complex code
NHibernate HQL118 
Linq 2 SQL559 
Entity framework859 
SubSonic ActiveRecord.SingleOrDefault3619 

其他见解:

  1. 能很方便地执行数据库 DML 和 DLL 操作。比如,当你执行一个带参数的 SQL 时,SQL 中的变量能与你传递给它的实体或匿名对象中的属性,自定匹配。而我们知道,带参数的 SQL,能提高数据库执行 SQL 的效率。
  2. 能很方便地将数据库检索结果映射为面向对象的对象。从数据库中的检索结果,通常是张二维表,如 DataTable,而应用程序中是实体类,以及实体类的集合,那么 Dapper 能够将 DataTable 自动地映射成为实体类的集合。
  3. 能很方便地书写 SQL 语句。比如,写多个 SQL,用分号分隔。

到此这篇关于ORM框架之Dapper简介和性能测试的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ORM框架之Dapper简介和性能测试

本文链接: https://lsjlt.com/news/161410.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ORM框架之Dapper简介和性能测试
    Dapper的简介 Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。Dapper只有一个代码...
    99+
    2024-04-02
  • Android ORM框架的性能简单测试
      前言   看了一下现在的android设备,性能都不差,懒得直接用sqlite,直接上ORM框架把,上网搜了一圈,觉得androrm, ormlite 这两个不错,当...
    99+
    2022-06-06
    性能 orm框架 orm 测试 Android
  • imba框架的简单介绍和性能测试
    这篇文章主要讲解了“imba框架的简单介绍和性能测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“imba框架的简单介绍和性能测试”吧!imba 简单介绍i...
    99+
    2024-04-02
  • Python ORM 性能基准测试:比较不同 ORM 框架
    对象关系映射(ORM)框架在 Python 开发中扮演着至关重要的角色,它们通过在对象和关系数据库之间建立桥梁,简化了数据访问和管理。为了评估不同 ORM 框架的性能,本文将针对以下流行框架进行基准测试: SQLAlchemy Peew...
    99+
    2024-03-15
    ORM
  • PHP中的性能测试框架
    随着互联网应用的不断发展,Web应用程序的性能越来越受到关注。在开发Web应用程序时,开发人员需要关注程序的运行效率和响应速度,及时发现并解决性能问题,以提供更好的用户体验。因此,选择一个性能测试工具来评估和优化Web应用程序的性能是非常重...
    99+
    2023-05-23
    框架 PHP 性能测试
  • 移动应用测试框架?Calabash Android 简介
      什么是 Calabash?   Calabash 是一个自动化测试框架,它可以测试 Android 和 iOS 原生应用和混合应用。   它有:   calaba...
    99+
    2022-06-06
    测试 框架 Android
  • NodeJs下的测试框架Mocha的简单介绍
    介绍和代码下载 Mocha在2011年发布,是目前最为流行的javascript框架之一,在本文我们重点介绍它在NodeJs上的使用。 如果你需要下载实例代码,可以通过去官网查找。https://mocha...
    99+
    2022-06-04
    框架 简单 测试
  • Android下Protobuff框架性能测试结果
      android 下Protobuff常用的框架有三个: protobuff自身,  square出的wire , protostuff   由于protob...
    99+
    2022-06-06
    性能 测试结果 性能测试 测试 Android
  • golang开发微框架Gin的安装测试及简介
    目录概述安装测试导包步骤切换输出的格式状态码示例前端概述 Gin是一个golang的微框架,封装比较优雅,API友好。具有快速灵活,容错方便等特点。Gin自身的net/http足够简...
    99+
    2024-04-02
  • .Net性能测试框架Crank怎么使用
    这篇文章主要介绍“.Net性能测试框架Crank怎么使用”,在日常操作中,相信很多人在.Net性能测试框架Crank怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.Net性能测试框架Crank怎么使用...
    99+
    2023-06-21
  • 手写java性能测试框架第二版
    目录引言第二版的threadbase代码如下固定次数模式的压测虚拟类固定时间模式虚拟类HTTPrequestbase为基础的多线程类固定次数模式的多线程类固定时间模式的多线程类使用D...
    99+
    2024-04-02
  • Yii框架的测试武器库:单元测试、功能测试和集成测试
    范围:单元测试关注代码的特定部分,而不考虑外部依赖关系。它们验证代码的行为是否符合预期,并覆盖所有代码路径。 优点: 快速执行 容易维护 可以自动化并集成到持续集成管道中 缺点: 无法测试代码的依赖关系集成 覆盖面可能不全面,可能遗...
    99+
    2024-04-02
  • .Net性能测试框架Crank的使用方法
    目录安装Crank创建Crank配置文件启动Crank-Agent启动Crank结果输出更多参考资料Crank 是微软新出的一个性能测试框架,集成了多种基准测试工具,如bombard...
    99+
    2024-04-02
  • PHP 框架基准测试:客观地比较性能和效率
    基准测试显示了不同 php 框架的性能和效率比较,其中:phalon 在 restful api 路由中表现最好。laravel 的路由时间相对较慢。其他测试场景(如数据库查询、模板渲染...
    99+
    2024-05-01
    性能 php laravel git
  • 手写java性能测试框架的实现示例
    目录引言代码分享基础类实现数据库的实现concurrent类引言 之前写过一个性能测试框架,只是针对单一的HTTP接口的测试,对于业务接口和非HTTP接口还无非适配,刚好前端时间工作...
    99+
    2024-04-02
  • 开源的性能测试框架p-unit怎么用
    本篇文章为大家展示了开源的性能测试框架p-unit怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。认识p-unit:一款开源的性能测试框架p-unit 是一款开放源码的性能测试框架,和 JUni...
    99+
    2023-06-03
  • Mysql官方性能测试工具mysqlslap的使用简介
    目录简介使用介绍实际体验小结简介 MySQL 作为最流行的开源数据库,在各个领域都有相当广泛的应用,作为一个 MySQL DBA,经常会对数据库进行一些性能测试来主动(或者是被动的)对业务压力做一个评估,来判断数据...
    99+
    2022-05-26
    MySQL mysqlslap mysqlslap的使用
  • PHP 单元测试框架性能比较与选择指南
    php 单元测试框架性能比较表明:phpunit 以 15.5 毫秒的平均执行时间脱颖而出,其次是 mockery(22.3 毫秒)、prophecy(25.4 毫秒)和 codecep...
    99+
    2024-05-06
    php 单元测试框架
  • MySQL性能压力基准测试工具sysbench的使用简介
    1、sysbench介绍 这里介绍一款MySQL数据库的压力测试软件sysbench,用它来进行基准测试。 sysbench 是一个开源的、模块化的、跨平台的多线程性能测试工具, 可以用来进行CPU、内存、磁盘I/...
    99+
    2022-05-28
    MySQL sysbench MySQL 性能压力测试工具
  • Gin-高性能 Golang Web框架的介绍和使用
    偶遇 Gin 我之前一直在使用 Beego 框架来做应用的 Api,因为它的写法跟 PHP 的 MVC 一样,上手简单,所以对它的表现还算满意。用的久了,发现 Beego 的编程思想就是照搬了 PHP 的那一套,写法上倒没什么,但是在...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作