数据引擎
Zongsoft.Data 数据引擎的设计目标、能力和阅读入口。

Zongsoft.Data 是一个类 GraphQL 风格的 ORM 数据访问框架。它通过数据模式、映射文件、条件表达式和数据库驱动描述数据访问结构,目标是在不手写 SQL 的情况下完成复杂查询、导航、过滤、分页、分组、聚合和写入操作。
它不是把 SQL 换成另一种字符串 SQL,而是把数据访问拆成四个稳定层次:
模型层:业务代码使用 POCO 类型或匿名对象。
元数据层:
.mapping文件描述实体、字段、继承和导航关系。访问层:
IDataAccess暴露统一的查询、写入、聚合、导入和执行接口。驱动层:各数据库驱动把统一表达式转换为对应数据库语法并执行。
先理解对象关系与数据访问,再按首次查询按 Discussions 的建表、连接和论坛查询用例验证。业务规则组织见数据服务。
特性
支持严格 POCO 对象。
支持读写分离。
支持表继承相关操作。
支持按业务模块隔离映射文件。
使用数据模式描述查询和写入形状。
提供多数据库驱动。
核心概念
选择入口
按驱动阅读
常见驱动包括 SQL Server、MySQL、SQLite、DuckDB、PostgreSQL、TDengine、ClickHouse 和 InfluxDB。驱动通常以独立插件方式部署,并把数据驱动与连接设置驱动挂载到插件树。
已选定数据库时,可以直接进入 MySQL、SQL Server、PostgreSQL、SQLite、DuckDB、ClickHouse、TDengine 或 InfluxDB 项目页。
按驱动阅读典型调用
来源:src/Module.cs(节选;上下文见源文件)。
在这个调用中:
this.Services.ResolveRequired<IDataAccessProvider>()从模块服务中解析数据访问提供者。GetAccessor(this.Name)按当前模块名称获取访问器;所示源码属于 Discussions 模块。??=缓存访问器,供后续调用复用。
查询条件、返回字段、导航、排序和分页的用法,见数据访问接口和查询与导航。
下一步
数据模式数据访问接口写入操作相关资源
最后更新于