{"adoption": {"forks": 344, "observed_at": "2026-08-28T04:04:33.787316+00:00", "stars": 1380}, "canonical_url": "https://ross.abutalabs.com/products/unitofwork", "card": {"archived": false, "artifact_type": "library", "description": "A plugin for Microsoft.EntityFrameworkCore to support repository, unit of work patterns, multiple database with distributed transaction supported, and MySQL multiple databases/tables sharding supported.", "domain": ["databases", "backend", "web-development"], "enriched": true, "function": ["orm", "database", "middleware"], "health_score": 20, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["arch/UnitOfWork"], "name": "arch/UnitOfWork", "platform": ["dotnet", "cross-platform"], "pushed_at": "2023-01-08T07:06:08+00:00", "repo": "arch/UnitOfWork", "stars": 1380, "tags": ["entity-framework-core", "repository-pattern", "unit-of-work", "mysql-sharding", "distributed-transactions"], "topics": ["entityframeworkcore", "unitofwork"], "urls": [], "use_cases": ["add repository and unit of work patterns to Entity Framework Core", "manage multiple databases with distributed transactions in EF Core", "shard MySQL data across multiple databases or tables by date", "inject generic repositories into ASP.NET Core services", "implement paged queries and projections with repositories"], "what_it_is": "A plugin for Microsoft.EntityFrameworkCore that adds repository and unit-of-work pattern support, including multiple databases with distributed transactions. It also supports MySQL multiple database/table sharding by dynamically switching schemas and tables at runtime.", "when_to_avoid": ["you prefer EF Core's native DbContext API without repository layers", "you need sharding on databases other than MySQL", "you need a library with frequent updates and active maintenance"], "when_to_choose": ["you use EF Core and want repository/unit-of-work abstractions out of the box", "you need MySQL sharding across schemas or tables with dynamic runtime switching", "you work across multiple DbContexts and need coordinated transactions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/unitofwork", "repo": "arch/UnitOfWork", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.787316+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:14.113415+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0d47e6b62da8071c610dad4b93e2cc83bd2c103e94729a0697fbd90422db70f", "fetched_at": "2026-08-28T04:04:33.787316+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arch/UnitOfWork"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3607, "days_push": 1333, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}