当前位置:首页 开发语言 正文

PetaPoco:适用于.NET的微型ORM

2011年06月25日 | 作者: 米豆网 - 1000seo | 分类: 开发语言 | 

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类
  • 部分记录更新
  • 包括T4 Templates,可以用于基于数据库结构生成POCO类。

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

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

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

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

英文:

PetaPoco is a thin Object Relational Mapper (ORM) for .NET applications. Unlike full-fledged ORMs like NHibernate or Entity Framework, the emphasis is on simplicity of use and performance rather than richness of features. PetaPoco comes in a single C# file, works with strongly typed POCOs, supports class generation with T4 templates and more.

PetaPoco’s most interesting features are

  • Works with SQL Server, SQL Server CE, MySQL, PostgreSQL and Oracle databases
  • Helper methods for Insert/Delete/Update/Save and IsNew
  • Easy Transaction Support
  • Paged requests automatically work out total record count and fetch a specific page
  • Parameter replacement Support, can grab named parameters from object properties
  • Includes a low friction SQL Builder class
  • Partial Record Updates
  • Includes T4 Templates to generate POCO classes from database schema

All these features are explained in more detail along with samples in the PetaPoco website.

In terms of performance, PetaPoco is right up there with Dapper, only minimally slower than hand-coded DAL.

There are several tutorials that can help get started – series of blog posts on the official website as well as some independent posts. Besides, since it is open source, it is much easier to add conditions to handle specific scenarios like spatial data

Micro ORMs have started becoming popular, with many open source projects being released recently. Some of the other well known ones for .NET are Dapper and Massive. These are simpler and more efficient than full-fledged ORMs, often expecting the SQL statement to be hand-written rather than being generated completely dynamically. They also do not need verbose mapping files, that could become tedious to maintain and debug.

本文固定链接:http://www.1000seo.com/soft/245
本文章由 米豆网 - 1000seo 于2011年06月25日发布在开发语言分类下,您可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
+复制链接 转载请注明:PetaPoco:适用于.NET的微型ORM-米豆网
关键字:, , , ,

好文章就要一起分享!

更多

发表评论

你的大名(必填)

你的邮箱(必填)

你的网站(选填)

评论内容(必填)

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif