PetaPoco

Official PetaPoco, A tiny ORM-ish thing for your POCO's

  • 所有者: CollaboratingPlatypus/PetaPoco
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Welcome to the official PetaPoco repository

Originally the brainchild of Brad Robinson

Version 6 - Netstandard 2.0+, 4.0, 4.5+

Read more about the v6 update

PetaPoco is available from: NuGet PetaPoco.Complied, Master, Development, Nuget, :-----, :----------, :----, Build status, Build status, Nuget Downloads, ### Documentation

For configuration, code examples and other general information See the docs

Add-ons

Version 5 - Legacy, Nuget (Single file), Nuget Core (+t4 templates), Nuget Core Compiled (dll), :----, :---------, :------------------, Nuget Downloads, Nuget Downloads core, Nuget Downloads core, ---

PetaPoco is a tiny & fast micro-ORM for .NET

  • Like Dapper, it's fast because it uses dynamic method generation (MSIL) to assign column values to properties
  • Like Massive, it now also supports dynamic Expandos too
  • Like ActiveRecord, it supports a close relationship between object and database table
  • Like SubSonic, it supports generation of poco classes with T4 templates (V5 only)
  • Like Massive it's available as single file that you easily add to any project or complied. (V5 only)

Features at a Glance

  • Tiny, and absolutely no dependencies!
  • Asychronise or synchronise, the choice is yours. (aka async) (V6)
  • Works with strictly undecorated POCOs, or attributed almost-POCOs.
  • Easy to configure and includes fluent configuration out of the box.
  • Helper methods for Insert/Delete/Update/Save and IsNew
  • Paged requests automatically work out total record count and fetch a specific page.
  • Easy transaction support.
  • Better parameter replacement support, including grabbing named parameters from object properties.
  • Great performance by eliminating Linq and fast property assignment with DynamicMethod generation.
  • The query language is good ole SQL.
  • Includes a low friction SQL builder class that makes writing inline SQL much easier.
  • Includes T4 templates to automatically generate POCO classes for you. (V5)
  • Hooks for logging exceptions, installing value converters and mapping columns to properties without attributes.
  • Works with SQL Server, SQL Server CE, MS Access, SQLite, MySQL, MariaDB, Firebird, and PostgreSQL. (Oracle supported but does not have integration tests).
  • Works under Net Standard 2.0, .NET 4.0/4.5+ or Mono 2.8 and later.
  • Has Xunit unit tests.
  • Has supported DBs integration tests.
  • OpenSource (MIT License or Apache 2.0)

Super easy use and configuration

Save an entity

    db.Save(article);
    db.Save(new Article { Title = "Super easy to use PetaPoco" });
    db.Save("Articles", "Id", { Title = "Super easy to use PetaPoco", Id = Guid.New() });

Get an entity

    var article = db.Single<Article>(123);
    var article = db.Single<Article>("WHERE ArticleKey = @0", "ART-123");

Delete an entity

    db.Delete(article);
    db.Delete<Article>(123);
    db.Delete("Articles", "Id", 123);
    db.Delete("Articles", "ArticleKey", "ART-123");

Plus much much more.

Contributing

PetaPoco welcomes input from the community. After all, what is a product without users? If you’d like to contribute, please take the time to read the contribution guide. We would also suggest you have a quick read of Contributing to Open Source on GitHub.

Contributions Honour Roll

A product like PetaPoco isn't the effort of one person, but rather a combined effort of many. For those individuals who rise above and beyond we have a special place to honour them.

主要指标

概览
名称与所有者CollaboratingPlatypus/PetaPoco
主编程语言C#
编程语言C# (语言数: 4)
平台
许可证Other
所有者活动
创建于2011-03-18 00:38:25
推送于2024-09-20 00:35:13
最后一次提交2024-09-20 10:35:13
发布数5
最新版本名称v6.0.316 (发布于 )
第一版名称v2.1.1 (发布于 )
用户参与
星数2.1k
关注者数155
派生数601
提交数0.9k
已启用问题?
问题数480
打开的问题数104
拉请求数173
打开的拉请求数3
关闭的拉请求数71
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?