PetaPoco:适用于.NET 的微型 ORM

阅读数:5881 2011 年 6 月 24 日

话题:.NET开源DevOps语言 & 开发架构

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 的项目有DapperMassive。那些微型 ORM 相对于功能完备的 ORM 而言,会更简单、更高效,微型 ORM 通常要求开发人员手动编写 SQL 语句,而非完全动态生成。它们同样不需要冗长的映射文件,因为对于维护和调试而言,那些映射文件只会让过程变得单调乏味。

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