AltHub

arch/UnitOfWork Alternatives

EF Core data access / ORM plugin

A plugin for Microsoft.EntityFrameworkCore that adds repository and unit-of-work patterns, distributed transactions across multiple databases, and MySQL sharding.

1.4kC#MITdormant · last push 3.7y agoGitHub

Drop-in peers

Same problem, same approach. Swapping one for another is a config change, not a rewrite.

ffernandolima/ef-core-data-accessGitHub

Same .NET EF Core stack, adds auto-history and QueryBuilder beyond the seed's UoW/repository.

It's a modern and generic data access structure for .NET and Microsoft.EntityFrameworkCore. It supports UnitOfWork, Repository and QueryBuilder patterns. It also includes auto history utilities, multiple databases support with distributed transactions and databases/tables sharding for some database providers.

186
MIT
slowing7mo ago

Same job, different approach

Solves the same problem with a different architecture or at a different layer. Expect to rewrite the integration.

alibaba/cobarGitHub

Choose it when you need MySQL sharding as a standalone proxy, not an in-process EF Core library.

a proxy for sharding databases and tables

3.2k
Java
Apache-2.0
dormant3.2y ago
apache/shardingsphereGitHub

Choose it for a broader distributed SQL ecosystem with sharding, scaling, and security, but as a Java proxy, not an EF Core plugin.

Empowering Data Intelligence with Distributed SQL for Sharding, Scalability, and Security Across All Databases.

20.8k
Java
Apache-2.0
active1mo ago
CECTC/dbpackGitHub

Choose it when you need distributed transactions and sharding as a language-agnostic sidecar proxy.

A db proxy for distributed transaction, read write splitting and sharding! Support any language! It can be deployed as a sidecar in a pod.

359
Go
Apache-2.0
slowing1.0y ago
actiontech/dbleGitHub

Choose it for MySQL sharding as a standalone Java middleware.

A High Scalability Middle-ware for MySQL Sharding

1.1k
Java
GPL-2.0
active1mo ago
dtm-labs/dtmGitHub

Choose it for distributed transactions as a standalone multi-language framework instead of an EF Core plugin.

A distributed transaction framework, supports workflow, saga, tcc, xa, 2-phase message, outbox patterns, supports many languages.

10.9k
Go
BSD-3-Clause
slowing9mo ago
gaoxianglong/sharkGitHub

Choose it for MySQL sharding as an older Java middleware, not an EF Core library.

:shark:分布式mysql分库分表中间件,sharding领域的一站式解决方案

505
Java
Apache-2.0
dormant9.2y ago

Older generation, or narrower

An earlier or more limited way to do the job. Still the right call when you need something small, proven, or CPU-only.

Coldairarrow/EFCore.ShardingGitHub

Choose it if you only need EFCore sharding, but it lacks the seed's UoW/repository and distributed transaction features.

Database Sharding For EFCore

706
C#
Apache-2.0
slowing10mo ago

Listed as an alternative to

These projects were analysed and named UnitOfWork among their alternatives. The relationship is not symmetric — how UnitOfWork rates them is a separate judgement, made when UnitOfWork is analysed in its own right.

flike/kingshardGitHub

calls UnitOfWork “Choose only for legacy EF Core projects needing client-side sharding; it is a stale ORM plugin.”

A high-performance MySQL proxy

6.4kGoactive