写点什么

PetaPoco:适用于.NET 的微型 ORM

  • 2011-06-24
  • 本文字数:668 字

    阅读完需:约 2 分钟

PetaPoco 是一款适用于.NET 应用程序的轻型对象关系映射器(ORM, Object Relational Mapper )。与那些功能完备的 ORM(如 NHibernate 或 Entity Framework)不同的是,PetaPoco 更注重易用性和性能,而非丰富的功能。使用 PetaPoco 只需要引入一个 C#文件,可以使用强类型的 POCO (Plain Old CLR Object),并支持使用 T4 模板生成的类等等。

PetaPoco 最让人感兴趣的功能包括:

  • 可与 SQL Server、SQL Server CE、MySQL、PostgreSQL 以及 Oracle 数据库协同工作。
  • 包含针对 Insert/Delete/Update/Save 以及 IsNew 的多个辅助方法。
  • 支持简单事务
  • 对于翻页请求会自动计算总记录数,并获取特定分页。
  • 支持参数替换,能够从对象属性中抓取命名参数(named parameters)
  • 包括一个消耗资源很少的 SQL Builder 类
  • 部分记录更新

PetaPoco 网站上有针对所有这些功能的详细说明及示例。

在性能方面,PetaPoco仅次于 Dapper,速度只稍逊于手工编码的数据访问层(DAL, Data Access Layer)。

还有一些对初学者会有帮助的教程,它们是位于官网上的系列博文以及一些独立博文教程。此外,由于PetaPoco 是开源项目,因此添加条件来处理如空间数据等特定情况会很容易。

最近,随着许多开源项目的发布,微型ORM 已开始成为一种流行趋势。其他一些众所周知的适用于.NET 的项目有 Dapper Massive 。那些微型 ORM 相对于功能完备的 ORM 而言,会更简单、更高效,微型 ORM 通常要求开发人员手动编写 SQL 语句,而非完全动态生成。它们同样不需要冗长的映射文件,因为对于维护和调试而言,那些映射文件只会让过程变得单调乏味。

查看英文原文: PetaPoco: Micro ORM For .NET

2011-06-24 09:257194
用户头像

发布了 55 篇内容, 共 19.8 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

KubeVela:一场向应用交付标准的“冲锋”

RRLL

阿里云 数据湖 云原生 KubeVela 应用交付

如何使用 SCP 和 Rsync 在 Linux 中传输文件

wljslmz

Linux 三周年连更

什么是Java 异常?如何处理异常?

Java架构历程

Java 三周年连更

5.10版本linux内核的使用slub的kmem_cache_init函数解析

linux大本营

内存管理 Linux内核 slub slab

重磅!阿里云云原生合作伙伴计划全新升级:加码核心权益,与伙伴共赢新未来

阿里巴巴云原生

阿里云 云原生 生态合作

《雄安新区2022年大数据研究报告》发布

百度开发者中心

智慧城市

电子签赛道驶向深水区,法大大以数智化引领创新

ToB行业头条

人工智能训练数据集:基础与发展

数据堂

有奖征文丨【玩转Cloud Studio】第二季来啦!

CODING DevOps

Cloud Studio 云端IDE 在线编程 有奖征文 活动推荐

用c语言写一个目录遍历程序

linux大本营

C语言 目录遍历

【Python实战】Python采集度贴吧排行榜

BROKEN

三周年连更

eBPF的发展演进---从石器时代到成为神(三)

统信软件

操作系统 Linux内核

ThingsBoard 前端项目内置部件开发

echeverra

thingsboard

linux设置虚拟IP

linux大本营

Linux 网络 IP地址

从 Milvus 2.2 到 2.2.6,我们是如何持续稳定升级的

Zilliz

非结构化数据 Milvus 向量数据库

读《分布式商业》有感

后台技术汇

分布式 三周年连更

spdk里是怎么运行nvmf-tgt的

linux大本营

spdk

当生成式AI照进医疗,医患关系将何去何从?

白洞计划

医疗

对数据库中存储的程序进行现代化改造,以使用 Amazon Aurora PostgreSQL 联合查询、pg_cron 和 Amazon Lambda

亚马逊云科技 (Amazon Web Services)

来字节跳动实习,有机会发Nature子刊

字节跳动技术范儿

c++17使用多线程编程的时候在编译时要怎么处理

linux大本营

多线程 C++

使用tc+iptables对指定的socket进行限速

linux大本营

TCP socket 网络 iptables

数说热点|米哈游新作《崩坏:星穹铁道》今日公测,能否再现原神奇迹?

MobTech袤博科技

什么是文件传输,介绍文件传输的发展进程

镭速

容量成本性能全都要有, Redis 容量版 PegaDB 设计与实践

百度开发者中心

云数据库 百度智能云

百度与用友网络签署战略合作

百度开发者中心

智能制造 文心一言

c++单例模式的所有面经

linux大本营

设计模式 单例模式 C++

云BI产品瓴羊Quick BI,为企业数字化转型保驾护航

巷子

YashanDB V22.2重磅发布!七大亮点带你了解新特性

YashanDB

数据库

一个有趣的图片加载效果

南城FE

CSS 前端 动画 图片

PetaPoco:适用于.NET的微型ORM_.NET_Roopesh Shenoy_InfoQ精选文章