PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)

我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db。

而且市面上的orm框架有很多,有重量级的Entity Framework,有轻量级的Dapper、PetaPoco等

假如你喜欢原生的Sql语句、又喜欢ORM的简单、又追求高性能,那么轻量级的ORM框架是你的不二选择。

说到轻量级ORM框架Dapper的名气比较大(因为出自名门?),但我却选择使用PetaPoco,因为:

  • 提供了更易用的API

    • Dapper仅提供了一系列Query的重载,用于将SQL映射为实体
    • PetaPoco除此之外还提供了Insert/Update/Delete/Save/分页等一系列Helper方法,如下图:
    • 还可以指定表名、主键等
    • 更详细示例用法请参见官网上的DEMO:http://www.toptensoftware.com/petapoco/
  • 性能与Dapper不相上下(我自测比Dapper更快)
    • 按Dapper官网(https://github.com/StackExchange/dapper-dot-net)的测试结果PetaPoco性能排名第4,Dapper第2
    • 第1是硬编码,第3的ServiceStack.OrmLite是收费的,并且依赖项太多,Dapper与PetaPoco都是单个.cs文件没依赖项
    • 我自己写的测试对比结果发现PetaPoco比Dapper要快,具体大家可自测

截至2016-10-05时PetaPoco还不支持.NET Core,但有源码移植到.NET Core上也不是难事,下面是我移植好的代码,大家可自行下载

下载地址:单击下载

时间: 2024-10-29 19:09:47

PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)的相关文章

轻量级的.Net ORM框架介绍

轻量型 ORM 组件 FluentData 官网https://fluentdata.codeplex.com/ Sample Data Dos.ORM ORM框架 Dapper .NET 官网 https://github.com/StackExchange/dapper-dot-net .NET对象关系映射器 PetaPoco PetaPoco是一款适用于.NET应用程序的轻型对象关系映射器(ORM,  Object Relational Mapper).与那些功能完备的ORM(如NHibe

Asp.net 高性能 Sqlite ORM 框架之 sqliteSugar

一.介简 easyliter框架的升级版本,并且正式命名为SqliteSugar框架,另外Sugar系列还有 MySql和MsSql版本,Oracle版本待开发中(因为客户端太大一直在忧郁当中) 用Sqlite 也不址什么高性能了,好用为主. 经过一天的努力,Sqlite 版本所有的例子都已经测试通过:  Sqlite .net4.0+ https://github.com/sunkaixuan/SqliteSugar MySql .NET 4.0+ https://github.com/sun

Spring对ORM的支持之集成Hibernate3

1  集成Hibernate3 Hibernate是全自动的ORM框架,能自动为对象生成相应SQL并透明的持久化对象到数据库. Spring2.5+ 版本支持Hibernate 3.1+ 版本,不支持低版本,Spring 3.0.5 版本提供对Hibernate 3.6.0 Final版本支持. 1.1.  如何集成 Spring通过使用如下Bean进行集成Hibernate: LocalSessionFactoryBean :用于支持XML映射定义读取: configLocation和conf

轻量级ORM框架初探-Dapper与PetaPoco的基本使用

一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库表 (1)For MSSQL CREATE TABLE [dbo].[Posts] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY, [CategoryId] INT NOT NULL, [Slug] VARCHAR(120) NOT NULL, [Title] N

轻量级ORM框架--PetaPoCo

ORM框架在开发中有着非常重要的作用,我之前用过也好几个了有些是公司自己开发的,还有些第三方的,但是如果在一个不是很大型的项目中,我觉得这个PetaPoCo是完全可以胜任了的使用也比较简单,接下去我简单介绍下.   首先在项目中添加petapoco: 然后配置下数据库连接参数和输入命名空间(当然必须现在配置文件中添加节点哦): 然后保存下就会自动生成数据库对应的实体(非常方便),下面是做测试的简单的增删改查: 1 //查询 2 var v = db.Fetch<BTest>("sel

c# 轻量级ORM框架 实现(一)

发布一个自己写的一个轻量级ORM框架,本框架设计期初基于三层架构.所以从命名上来看,了解三层的朋友会很好理解. 设计该框架的目的:不想重复的写增删改查,把精力放到功能实现上. 发布改框架的原因:希望给初学者一个参考,希望能给予好的建议,给自己一个展示机会. 在我开始之前,先说明一下,我对"软件工程学"概念东西几乎不通,最高文化程度:初二,所以不喜勿喷. 开始我的orm设计最底层 最底层的是一个DalBase,它是一个抽象的,实现了增删改查的基本操作. 它既然是一个抽象的,那么它的内部就

C#轻型ORM框架PetaPoco试水

近端时间从推酷app上了解到C#轻微型的ORM框架--PetaPoco.从github Dapper 开源项目可以看到PetaPoco排第四 以下是网友根据官方介绍翻译,这里贴出来. PetaPoco是一款适用于.Net 和Mono的微小.快速.单文件的微型ORM. PetaPoco有以下特色: 微小,没有依赖项--单个的C#文件可以方便的添加到任何项目中. 工作于严格的没有装饰的Poco类,和几乎全部加了特性的Poco类 Insert/Delete/Update/Save and IsNew

高性能ORM 框架之 MySqlSugar

一.介简 SqlSugar ORM框架一直在升级当中,昨天将EMIT架构进行了重构,让类型转换更加智能,EMIT转换后的性能和原生ADO同水准(以前只是接近),为了提高性能.稳定.有问必答.有需求必改.坚持更新.例如数据库类型为BIT我们在程序里面可以使用 INT接收也可以用BOOL接收,不影响一丝性能,这些都是SQLSUGAR以前没有的功能. 经过一天的努力,MySql版本所有的例子都已经测试通过: MySql .NET 4.0+ https://github.com/sunkaixuan/M

视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时间录制,今天我兑现了给朋友们的承诺.. 本次视频教程的目录为 视频.代码.资料,其中视频有4段,资料是我收集的相关资料.. 视频下载地址:http://pan.baidu.com/s/1c05sysC 希望大家多多支持... 郝喜路 2014年6月8日 11:11:02   http://haoxilu.cn