Derd是一个基于.net core开发的跨平台轻量级数据库操作框架。Derd模型定义文件基于XML文件格式,模型管理基于目录自动分类;数据库类型支持Sqlite、MySql、Oracle、Sqlserver、Postgresql、达梦、人大金仓等,数据库配置文件和模型定义一样基于目录划分,并支持基于目录层级的继承能力;数据操作采用链式方式,简单易用。
- XML格式定义模型
- JSON格式属性,像使用对象一样使用JSON
- 索引约束定义,普通索引、主键索引、组合索引...
- 关联外键定义,支持模型级深度关联
- 数据库事务支持,
- 查询方法支持链式操作,代码易写、易读、易维护
- 属性值格式约束定义&校验,模型定义同时搞定表单逻辑
- 属性值保存前自定义加工,支持动态函数处理器
- 属性值查询后自定义处理,支持动态函数处理器
- 模型增、删、改前后自定义拦截事件,轻松处理复杂逻辑
- 新建数据保存时属性是否参与保存可设置
- 更新数据保存时属性是否参与保存可设置
- 默认值设置支持自定义,支持动态函数处理器
- 查询返回dynamic动态对象,默认关联模型定义属性
.NetCore3.1:3.0.0之前的版本全部基于.netcore3.1开发;后续所有变更在netcore3.1分支进行。
.Net8.0:从3.0.0开始之后的版本,全部基于.net8开发;后续所有变更在master分支进行。
Install-Package Derd -Version 3.0.1
dotnet add package Derd --version 3.0.1
<PackageReference Include="Derd" Version="3.0.1" />
paket add Derd --version 3.0.1
Derd基于微软的DbProviderFactory技术实现,根据实际使用的数据库类型,需要引入实现了对应数据库的DbProviderFactory相关接口的第三方包;已测试并验证通过的数据库第三方包对应关系如下:
数据库库类型 | 依赖包 |
---|---|
Sqlite | System.Data.SQLite |
Mysql | MySql.Data |
Oracle | Oracle.ManagedDataAccess.Core |
SqlServer | Microsoft.Data.SqlClient |
Postgres | Npgsql |
达梦 | dmdbms.DmProvider |
人大金仓 | Kdbndp |
使用时,可根据需要添加其中的一项或多项依赖。
*注:其他未列出的实现了微软DbProviderFactory接口的数据库理论上应全部支持,尚未实际验证;有兴趣的小伙伴可自己试验。
Derd 使用 MIT 协议