简介
FluentData 是一个微型 ORM(micro‑ORM),主打「Fluent API」风格,让开发者在保持对原生 SQL 完全控制的同时,享受链式调用的便捷性。
它与 Dapper、Massive 类似,但在提供动态对象、强类型映射、多结果集及自定义实体工厂等功能方面更为完善,且无需修改现有业务实体即可接入。
核心特性
-
流畅的
API:通过链式调用实现直观的数据库操作 -
多数据库支持:支持 SQL Server、MySQL、Oracle、SQLite 等
-
高性能:接近原生
ADO.NET的性能 -
事务管理:支持本地和分布式事务
-
存储过程支持:简化存储过程调用
-
灵活的映射:支持自定义对象映射
-
参数化查询:防止
SQL注入 -
批量操作:高效的批量插入和更新
安装与配置
// NuGet 安装
Install-Package FluentData
// 创建 DbContext
public class AppDbContext : DbContext
{
public AppDbContext() : base(new SqlServerProvider(), "ConnectionString")
{
// 配置选项
Configuration.AutoCommit = false;
Configuration.PrefixParametersWithAtSign = true;
}
}
核心 CRUD 用法
查询
- 多条记录
// 返回 List<T>
var list = db.Sql("SELECT * FROM Users WHERE Age > @min")
.Parameter("min", 18)
.QueryMany<User>();
- 单条记录
var user = db.Sql("SELECT * FROM Users WHERE Id = @id")
.Parameter("id", 1)
.QuerySingle<User>();
- 动态类型
var dyn = db.Sql("SELECT Name, Age FROM Users")
.QueryMany<dynamic>();
插入
// 方式一:指定表名与列
int newId = db.Insert("Users")
.Column("Name", "Alice")
.Column("Age", 28)
.ExecuteReturnLastId<int>();
// 方式二:POCO
int id2 = db.Insert<User>()
.AppendData(new User {
Name = "Bob", Age = 30 })
.ExecuteReturnLastId<int>();
更新
int rows = db.Update("Users")
.Column("Age", 29)
.Where("Id", 1)
.Execute();
删除
int deleted = db.Delete("Users")
.

最低0.47元/天 解锁文章
4366

被折叠的 条评论
为什么被折叠?



