// the find
DotNetNext/SqlSugar
.Net aot ORM SqlServer ORM Mongodb ORM MySql 瀚高 Postgresql ORM DB2 Hana 高斯 Duckdb C# VB.NET Sqlite ORM Oracle ORM Mysql Orm 虚谷数据库 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET9 ORM .NET8 ORM ClickHouse ORM QuestDb ,TDengine ORM,OceanBase ORM,GaussDB ORM,Tidb ORM Object/Relational Mapping
SqlSugar is a C# ORM that prioritizes low-ceremony database access — minimal boilerplate for CRUD, joins, and schema management. It targets .NET developers who want something less verbose than EF Core, especially for SAAS apps needing multi-tenant, cross-database, or table-splitting patterns. The breadth of supported databases (20+, including obscure Chinese enterprise DBs) is its headline feature.
The multi-tenant transaction API is genuinely well-designed — wrapping operations across MySQL and SQL Server in a single coordinated transaction without a distributed transaction coordinator is non-trivial and they've made the API simple. The `Fastest<T>().BulkCopy()` path is a real alternative to SqlBulkCopy boilerplate. Auto split-table (`[SplitTable(SplitType.Year)]`) handles a pattern that EF Core leaves entirely to the developer. The `Storageable` upsert is cleaner than EF's `AddOrUpdate` pattern and supports bulk scenarios with a page size argument.
The documentation is primarily in Chinese, and the English wiki is incomplete and inconsistent — you'll hit gaps fast on anything beyond basic CRUD. The `SqlSugarScope` singleton pattern relies on per-thread connection management under the hood, which has bitten people in async/await contexts where continuations don't respect thread affinity. Supporting 20+ databases means each one gets partial test coverage at best; bugs in niche providers (DuckDB, TDengine, GaussDB) tend to sit open for months. AOT support is advertised in the description but the attribute-heavy approach to schema mapping and the dynamic expression builder are fundamentally reflection-dependent, making true AOT compatibility more aspirational than proven.