{"id":15132604,"url":"https://github.com/collaboratingplatypus/petapoco","last_synced_at":"2025-05-13T20:20:55.804Z","repository":{"id":37926367,"uuid":"1494150","full_name":"CollaboratingPlatypus/PetaPoco","owner":"CollaboratingPlatypus","description":"Official PetaPoco, A tiny ORM-ish thing for your POCO's","archived":false,"fork":false,"pushed_at":"2024-09-20T00:35:13.000Z","size":6373,"stargazers_count":2098,"open_issues_count":107,"forks_count":600,"subscribers_count":155,"default_branch":"development","last_synced_at":"2025-04-10T12:37:54.720Z","etag":null,"topics":["dotnet","orm"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CollaboratingPlatypus.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-03-18T00:38:25.000Z","updated_at":"2025-04-04T11:15:57.000Z","dependencies_parsed_at":"2023-09-28T10:09:54.591Z","dependency_job_id":"eda92aef-b0d8-4249-a416-8ba77b0dbf41","html_url":"https://github.com/CollaboratingPlatypus/PetaPoco","commit_stats":{"total_commits":636,"total_committers":43,"mean_commits":"14.790697674418604","dds":0.7248427672955975,"last_synced_commit":"86aeb40d5b3e73fc721d6b250c460d481b5690cd"},"previous_names":["toptensoftware/petapoco"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CollaboratingPlatypus%2FPetaPoco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CollaboratingPlatypus%2FPetaPoco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CollaboratingPlatypus%2FPetaPoco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CollaboratingPlatypus%2FPetaPoco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CollaboratingPlatypus","download_url":"https://codeload.github.com/CollaboratingPlatypus/PetaPoco/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251310445,"owners_count":21568998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","orm"],"created_at":"2024-09-26T04:21:36.320Z","updated_at":"2025-04-28T11:49:54.320Z","avatar_url":"https://github.com/CollaboratingPlatypus.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg align=\"right\" alt=\"PetaPoco Logo\" width=\"128\" src=\"https://raw.githubusercontent.com/CollaboratingPlatypus/PetaPoco/master/Media/Logo2/PetaPocoLogo2_256.png\"\u003e\n\n# Welcome to the official PetaPoco repository\n\nOriginally the brainchild of [Brad Robinson].\n\nPetaPoco is maintained and extended by Wade Baglin (@pleb) and Aaron Sherber (@asherber).\n\n## Version 6 - Netstandard 2.0+, 4.0, 4.5+\n\nRead more about the [v6 update](https://github.com/CollaboratingPlatypus/PetaPoco/wiki/V6NetStandard2-0)\n\nPetaPoco is available from: **NuGet [PetaPoco.Compiled](https://www.nuget.org/packages/PetaPoco.Compiled)**\n\n|Master|Development|Nuget|\n|:-----|:----------|:----|\n|[![Build status](https://ci.appveyor.com/api/projects/status/1vodaox1reremsvj/branch/master?svg=true)](https://ci.appveyor.com/project/collaboratingplatypus/petapoco/branch/master)|[![Build status](https://ci.appveyor.com/api/projects/status/1vodaox1reremsvj/branch/development?svg=true)](https://ci.appveyor.com/project/collaboratingplatypus/petapoco/branch/development)|[![Nuget Downloads](https://buildstats.info/nuget/PetaPoco.Compiled)](https://www.nuget.org/packages/PetaPoco.Compiled/)|\n\n### Documentation\n\nFor configuration documentation, code examples, and other general usage information, [see the docs].\n\n### Add-ons\n\n* [PetaPoco.SqlKata](https://github.com/asherber/PetaPoco.SqlKata) lets you use the powerful query builder [SqlKata](https://sqlkata.com) to [build SQL queries](https://github.com/CollaboratingPlatypus/PetaPoco/wiki/Building-SQL-Queries) for PetaPoco.\n* [StaTypPocoQueries.PetaPoco](https://github.com/asherber/StaTypPocoQueries.PetaPoco) provides the ability to use some simple, strongly typed, Intellisensed LINQ expressions in your queries.\n* [PetaPoco.DBEntityGenerator](https://github.com/hippasus/PetaPoco.DBEntityGenerator) lets you generate Pocos from your DB (T4 template replacement).\n\n## Version 5 - Legacy\n\n|Nuget (Single file)|Nuget Core (+t4 templates)|Nuget Core Compiled (dll)|\n|:----|:---------|:------------------|\n|[![Nuget Downloads](https://buildstats.info/nuget/PetaPoco)](https://www.nuget.org/packages/PetaPoco/)|[![Nuget Downloads core](https://buildstats.info/nuget/PetaPoco.Core)](https://www.nuget.org/packages/PetaPoco.Core)|[![Nuget Downloads core](https://buildstats.info/nuget/PetaPoco.Core.Compiled)](https://www.nuget.org/packages/PetaPoco.Core.Compiled)|\n\n---\n\n## PetaPoco is a tiny \u0026 fast micro-ORM for .NET\n\n* Like [Dapper], it's fast because it uses dynamic method generation (MSIL) to assign column values to properties\n* Like [Massive], it now also supports dynamic Expandos too\n* Like [ActiveRecord], it supports a close relationship between object and database table\n* Like [SubSonic], it supports generation of poco classes with T4 templates (V5 only)\n* Like [Massive], it's available as a single file that you easily add to any project or complied. (V5 only)\n\n## Features at a Glance\n\n* Tiny, and absolutely no dependencies!\n* Asychronous (aka async) or synchronous: the choice is yours. (V6)\n* Works with strictly undecorated POCOs, or attributed almost-POCOs.\n* Easy to configure, including [fluent configuration] out of the box.\n* Helper methods for Insert/Delete/Update/Save and IsNew\n* Paged requests automatically work out the total record count and fetch a specific page.\n* Easy transaction support.\n* Better parameter replacement support, including grabbing named parameters from object properties.\n* Great performance by eliminating Linq and fast property assignment with DynamicMethod generation.\n* The query language is good'ole SQL.\n* Includes a low friction SQL builder class that makes writing inline SQL *much* easier.\n* Includes T4 templates to automatically generate POCO classes for you. (V5)\n* Hooks for logging exceptions, installing value converters and mapping columns to properties without attributes.\n* Works with SQL Server, SQL Server CE, MS Access, SQLite, MySQL, MariaDB, Firebird, and PostgreSQL. (Oracle is supported but does not have integration tests).\n* Works under Net Standard 2.0, .NET 4.0/4.5+ or Mono 2.8 and later.\n* Has [Xunit] unit tests.\n* Has supported DBs integration tests.\n* OpenSource (MIT License or Apache 2.0)\n\n## Super easy use and configuration\n\nSave an entity\n```c#\ndb.Save(article);\ndb.Save(new Article { Title = \"Super easy to use PetaPoco\" });\ndb.Save(\"Articles\", \"Id\", { Title = \"Super easy to use PetaPoco\", Id = Guid.New() });\n```\n\nGet an entity\n```c#\nvar article = db.Single\u003cArticle\u003e(123);\nvar article = db.Single\u003cArticle\u003e(\"WHERE ArticleKey = @0\", \"ART-123\");\n```\n\nDelete an entity\n```c#\ndb.Delete(article);\ndb.Delete\u003cArticle\u003e(123);\ndb.Delete(\"Articles\", \"Id\", 123);\ndb.Delete(\"Articles\", \"ArticleKey\", \"ART-123\");\n```\n\nPlus much, much [more](https://github.com/CollaboratingPlatypus/PetaPoco/wiki).\n\n## Contributing\n\nPetaPoco welcomes input from the community. After all, what is a product without users? If you would 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].\n\n## Contributions Honour Roll\n\nPetaPoco is not the result of just one person's labour, but rather, the product of a combined effort by many. For those individuals who go above and beyond, [we have a special place to honour them].\n\n[Brad Robinson]:https://www.toptensoftware.com/\n[Massive]:https://github.com/FransBouma/Massive\n[Dapper]:https://github.com/StackExchange/dapper-dot-net\n[SubSonic]:https://subsonic.github.io/\n[ActiveRecord]:https://guides.rubyonrails.org/active_record_basics.html\n[POCO]:https://en.wikipedia.org/wiki/Plain_Old_CLR_Object\n[CodingHorror]:https://web.archive.org/web/20160215051631/subsonicproject.com/docs/CodingHorror\n[XUnit]:https://github.com/xunit/xunit\n[see the docs]:https://github.com/CollaboratingPlatypus/PetaPoco/wiki\n[the contribution guide]:./contributing.md\n[Contributing to Open Source on GitHub]:https://guides.github.com/activities/contributing-to-open-source/\n[we have a special place to honour them]:./honourRoll.md\n[fluent configuration]:https://github.com/CollaboratingPlatypus/PetaPoco/wiki/Fluent-Configuration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcollaboratingplatypus%2Fpetapoco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcollaboratingplatypus%2Fpetapoco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcollaboratingplatypus%2Fpetapoco/lists"}