{"id":15132604,"url":"https://github.com/collaboratingplatypus/petapoco","last_synced_at":"2026-10-19T09:07:41.828Z","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":"2025-11-30T23:08:27.000Z","size":6375,"stargazers_count":2144,"open_issues_count":110,"forks_count":593,"subscribers_count":151,"default_branch":"development","last_synced_at":"2026-10-09T05:54:16.115Z","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-03-18T00:38:25.000Z","updated_at":"2026-10-08T15:36:22.000Z","dependencies_parsed_at":"2023-09-28T10:09:54.591Z","dependency_job_id":"59727251-a621-4152-96d7-57ce3a1efe30","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,"purl":"pkg:github/CollaboratingPlatypus/PetaPoco","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","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CollaboratingPlatypus%2FPetaPoco/sbom","scorecard":{"id":32233,"data":{"date":"2025-08-11","repo":{"name":"github.com/CollaboratingPlatypus/PetaPoco","commit":"1caefe560add015aa0b2e4988eb6d64e48562ce7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.5,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":7,"reason":"Found 6/8 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T19:24:26.708Z","repository_id":37926367,"created_at":"2025-08-14T19:24:26.708Z","updated_at":"2025-08-14T19:24:26.708Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38352878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2026-10-19T09:07:41.340Z","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"}