LiteOrm 是一个轻量级、高性能的 .NET ORM 框架——微 ORM 的执行效率,完整 ORM 的易用性。适合对性能敏感且需要灵活处理复杂 SQL 的业务场景。
// 1. 定义实体,特性即映射
[Table("Users")]
public class User
{
[Column("Id", IsPrimaryKey = true)]
public int Id { get; set; }
[Column("UserName")]
public string? UserName { get; set; }
[Column("Age")]
public int Age { get; set; }
}
// 2. 一行注册,一行查询
builder.Host.RegisterLiteOrm();
var adults = await userService.SearchAsync(
u => u.Age >= 18 && u.UserName!.StartsWith("A"));
生成 SQL
SELECT [T0].[Id], [T0].[UserName], [T0].[Age]
FROM [Users] [T0]
WHERE [T0].[Age] >= @0 AND [T0].[UserName] LIKE @1
-- 全程参数化,杜绝 SQL 注入兼顾微型 ORM 的执行效率和完整 ORM 的易用性——不隐藏 SQL,也不强迫你手写 SQL。
性能接近原生 Dapper,远超 EF Core。批量插入、更新、关联查询全面领先,内存分配最小。
Lambda、Expr、ExprString 自由混用:强类型过滤、动态条件拼装、DAO 层手写 SQL 片段各得其所。
通过 [ForeignType] / [TableJoin] 特性声明关联,无需手写 JOIN,ExistsRelated 一键按关联表过滤。
[Transaction] 特性实现 AOP 事务管理,支持嵌套与回滚,业务代码零侵入。
SQL Server、MySQL、Oracle、PostgreSQL、SQLite,内置达梦、金仓、GaussDB、OceanBase、TiDB、GreatDB 国产数据库支持。
IArged 接口支持分表路由,多数据源与只读副本开箱即用,中大型系统的常规需求全覆盖。
三种方式最终都生成参数化 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 查询等底层能力。详见查询总览。
.NET 10.0.11 · MySQL · BenchmarkDotNet MediumRun。以下为 10000 条批次实测耗时。
| 框架 | 插入 | 更新 | Upsert | 关联查询 |
|---|---|---|---|---|
| LiteOrm | 178.12 ms | 280.36 ms | 247.92 ms | 78.65 ms |
| Dapper | 266.28 ms | 355.83 ms | 327.69 ms | 98.68 ms |
| FreeSql | 332.71 ms | 570.89 ms | 257.39 ms | 101.45 ms |
| SqlSugar | 352.86 ms | 734.61 ms | 7042.44 ms | 179.25 ms |
| EF Core | 1837.48 ms | 1374.47 ms | 1538.52 ms | 162.80 ms |
插入 / 更新 / Upsert / 关联查询四项分配之和,最省内存意味着更低的 GC 压力与更稳的延迟
一套实体映射,适配主流与国产数据库。国产方言自动检测、优先匹配,无需额外配置。
国产 / 兼容数据库 Builder 继承主流方言,仅覆盖差异点;旧版本数据库可通过 自定义分页 与 自定义 SqlBuilder 扩展。详见数据库兼容性说明。
从入门到落地,每个场景都有可直接抄的代码。中英双语,AI 友好。