Skip to content

一款使用简单、功能强大的对象关系映射(O/RM)组件,支持Sqlite、MySQL、Oracle、Postgres、Sqlserver、国产数据库达梦、人大金仓

License

Notifications You must be signed in to change notification settings

softwaiter/Derd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一款使用简单、功能强大的对象关系映射(O/RM)组件

🔰 简介

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分支进行。

📦安装

Package Manager

Install-Package Derd -Version 3.0.1

.NET CLI

dotnet add package Derd --version 3.0.1

PackageReference

<PackageReference Include="Derd" Version="3.0.1" />

Paket CLI

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 协议

About

一款使用简单、功能强大的对象关系映射(O/RM)组件,支持Sqlite、MySQL、Oracle、Postgres、Sqlserver、国产数据库达梦、人大金仓

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages