BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

PetaPoco:适用于.NET的微型ORM

| 作者 Roopesh Shenoy 关注 0 他的粉丝 ,译者 高翌翔 关注 0 他的粉丝 发布于 2011年6月25日. 估计阅读时间: 2 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

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: Micro ORM For .NET

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

PetaPoco:适用于.NET的微型ORM by wan biwen

测试过一下 .SQL2000不支持 主要是分页的row number.
主键为Int 但是非自增 也会出错.
看来新东西 还得有一段路要走

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT