v8.1 现已发布 · 支持 NativeAOT

轻如无物,快如闪电

LiteOrm 是一个轻量级、高性能的 .NET ORM 框架——微 ORM 的执行效率,完整 ORM 的易用性。适合对性能敏感且需要灵活处理复杂 SQL 的业务场景。

dotnet add package LiteOrm
178ms插入 1 万条
1/3内存分配仅为竞品均值
11种数据库方言
AOTNativeAOT / Trim 兼容
.NET 8+兼容 Framework 4.6.1+
Features

为什么选择 LiteOrm

兼顾微型 ORM 的执行效率和完整 ORM 的易用性——不隐藏 SQL,也不强迫你手写 SQL。

极速性能

性能接近原生 Dapper,远超 EF Core。批量插入、更新、关联查询全面领先,内存分配最小。

三种查询方式

Lambda、Expr、ExprString 自由混用:强类型过滤、动态条件拼装、DAO 层手写 SQL 片段各得其所。

自动关联查询

通过 [ForeignType] / [TableJoin] 特性声明关联,无需手写 JOIN,ExistsRelated 一键按关联表过滤。

声明式事务

[Transaction] 特性实现 AOP 事务管理,支持嵌套与回滚,业务代码零侵入。

11 种数据库方言

SQL Server、MySQL、Oracle、PostgreSQL、SQLite,内置达梦、金仓、GaussDB、OceanBase、TiDB、GreatDB 国产数据库支持。

分表与读写分离

IArged 接口支持分表路由,多数据源与只读副本开箱即用,中大型系统的常规需求全覆盖。

Query

同一查询,三种写法

三种方式最终都生成参数化 SQL。Lambda 最直观,Expr 适合动态拼装,ExprString 留给需要精确控制 SQL 的 DAO 层。

// 像写 C# 一样写查询,强类型、可读性最好
var users = await userService.SearchAsync(
    u => u.Age >= 18 && u.UserName!.StartsWith("A"));

// 排序 + 分页
var page = await userService.SearchAsync(
    q => q.Where(u => u.Age >= 18)
          .OrderByDescending(u => u.CreateTime)
          .Skip(20).Take(10));
// 动态拼装条件,适合查询构造器与后台筛选
using static LiteOrm.Common.Expr;

var expr = (Prop("Age") >= 18)
          & Prop("UserName").StartsWith("A");
var users = await userService.SearchAsync(expr);

// 条件可序列化为 JSON,跨层传递、前端直传
string json = expr.ToJson();
// 插值字符串手写 SQL 片段,仅 DAO 层使用
using static LiteOrm.Common.Expr;

int minAge = 18;
var users = await userViewDAO.Search(
    $"WHERE {Prop("Age")} > {minAge}")
    .ToListAsync();

// 插值项自动参数化,既灵活又安全

Service 层提供 Lambda / Expr 入口与 SearchAs 投影查询;DAO 层额外开放 ExprString、DataTable 查询等底层能力。详见查询总览。

Benchmark

用数据说话

.NET 10.0.11 · MySQL · BenchmarkDotNet MediumRun。以下为 10000 条批次实测耗时。

框架插入更新Upsert关联查询
LiteOrm178.12 ms280.36 ms247.92 ms78.65 ms
Dapper266.28 ms355.83 ms327.69 ms98.68 ms
FreeSql332.71 ms570.89 ms257.39 ms101.45 ms
SqlSugar352.86 ms734.61 ms7042.44 ms179.25 ms
EF Core1837.48 ms1374.47 ms1538.52 ms162.80 ms

测试环境:Linux Ubuntu 24.04.4 LTS · Intel Xeon Silver 4314 2.40GHz · 异步批量操作。完整报告见 LiteOrm.Benchmark。

内存分配对比(1000 条,KB)

插入 / 更新 / Upsert / 关联查询四项分配之和,最省内存意味着更低的 GC 压力与更稳的延迟

LiteOrm
6,431
Dapper
18,365
FreeSql
32,912
SqlSugar
74,954
EF Core
90,752

数据口径:插入 / 更新 / Upsert / 关联查询四项分配之和(1000 条批次),源自 LiteOrm.Benchmark 实测,详见性能报告。

Databases

广泛的数据库支持

一套实体映射,适配主流与国产数据库。国产方言自动检测、优先匹配,无需额外配置。

SQL Server2012+
MySQL8.0+
Oracle12c+
PostgreSQL—
SQLite—
达梦 DMOracle 兼容
KingbaseESPostgreSQL 兼容
GaussDBopenGauss 系
OceanBaseMySQL 兼容
TiDBMySQL 兼容
GreatDBMySQL 兼容

国产 / 兼容数据库 Builder 继承主流方言,仅覆盖差异点;旧版本数据库可通过 自定义分页 与 自定义 SqlBuilder 扩展。详见数据库兼容性说明。

Documentation

按学习路径组织的文档

从入门到落地,每个场景都有可直接抄的代码。中英双语,AI 友好。