{"id":25284097,"url":"https://github.com/softwaiter/Derd","last_synced_at":"2025-10-27T18:31:58.977Z","repository":{"id":65541521,"uuid":"198593672","full_name":"softwaiter/Derd","owner":"softwaiter","description":"一款使用简单、功能强大的对象关系映射（O/RM）组件，支持Sqlite、MySQL、Oracle、Postgres、Sqlserver、国产数据库达梦、人大金仓","archived":false,"fork":false,"pushed_at":"2024-08-18T08:04:33.000Z","size":4469,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T20:19:59.312Z","etag":null,"topics":["access","hibernate","model","mysql","netcore","oracle","orm","postgresql","sqlite","sqlserver"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softwaiter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-24T08:38:12.000Z","updated_at":"2024-05-30T13:25:04.000Z","dependencies_parsed_at":"2025-01-16T19:25:17.967Z","dependency_job_id":"397b1909-1538-4742-8453-0c575c120275","html_url":"https://github.com/softwaiter/Derd","commit_stats":{"total_commits":188,"total_committers":2,"mean_commits":94.0,"dds":0.02659574468085102,"last_synced_commit":"8ca47ce447e3094a317c52b375fc56e2607823bc"},"previous_names":["softwaiter/netcoreorm"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaiter%2FDerd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaiter%2FDerd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaiter%2FDerd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaiter%2FDerd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softwaiter","download_url":"https://codeload.github.com/softwaiter/Derd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238542280,"owners_count":19489561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access","hibernate","model","mysql","netcore","oracle","orm","postgresql","sqlite","sqlserver"],"created_at":"2025-02-12T20:20:04.998Z","updated_at":"2025-10-27T18:31:57.696Z","avatar_url":"https://github.com/softwaiter.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\u003carticle style=\"display: flex; flex-direction: column; align-items: center; justify-content: center;\"\u003e\r\n    \u003cp align=\"center\"\u003e\u003cimg width=\"256\" src=\"http://res.dayuan.tech/images/derd.png\" /\u003e\u003c/p\u003e\r\n    \u003cp\u003e\r\n        一款使用简单、功能强大的对象关系映射（O/RM）组件\r\n    \u003c/p\u003e\r\n\u003c/article\u003e\r\n\u003c/div\u003e\r\n\r\n\r\n##  :beginner: 简介\r\n\r\nDerd是一个基于.net core开发的跨平台轻量级数据库操作框架。Derd模型定义文件基于XML文件格式，模型管理基于目录自动分类；数据库类型支持Sqlite、MySql、Oracle、Sqlserver、Postgresql、达梦、人大金仓等，数据库配置文件和模型定义一样基于目录划分，并支持基于目录层级的继承能力；数据操作采用链式方式，简单易用。\r\n\r\n#### 特点列表：\r\n\r\n* XML格式定义模型\r\n* JSON格式属性，像使用对象一样使用JSON\r\n* 索引约束定义，普通索引、主键索引、组合索引...\r\n* 关联外键定义，支持模型级深度关联\r\n* 数据库事务支持，\r\n* 查询方法支持链式操作，代码易写、易读、易维护\r\n* 属性值格式约束定义\u0026校验，模型定义同时搞定表单逻辑\r\n* 属性值保存前自定义加工，支持动态函数处理器\r\n* 属性值查询后自定义处理，支持动态函数处理器\r\n* 模型增、删、改前后自定义拦截事件，轻松处理复杂逻辑\r\n* 新建数据保存时属性是否参与保存可设置\r\n* 更新数据保存时属性是否参与保存可设置\r\n* 默认值设置支持自定义，支持动态函数处理器\r\n* 查询返回dynamic动态对象，默认关联模型定义属性\r\n\r\n\r\n\r\n## :rocket: 版本\r\n\r\n**.NetCore3.1**：3.0.0之前的版本全部基于.netcore3.1开发；后续所有变更在netcore3.1分支进行。\r\n\u003cbr\u003e\r\n**.Net8.0**：从3.0.0开始之后的版本，全部基于.net8开发；后续所有变更在master分支进行。\r\n\r\n\r\n\r\n\r\n## :package:安装\r\n\r\n#### Package Manager\r\n\r\n```shell\r\nInstall-Package Derd -Version 3.0.1\r\n```\r\n\r\n#### .NET CLI\r\n\r\n```shell\r\ndotnet add package Derd --version 3.0.1\r\n```\r\n\r\n#### PackageReference\r\n\r\n```xml\r\n\u003cPackageReference Include=\"Derd\" Version=\"3.0.1\" /\u003e\r\n```\r\n\r\n#### Paket CLI\r\n\r\n```shell\r\npaket add Derd --version 3.0.1\r\n```\r\n\r\n\r\n\r\n## :hammer_and_wrench:使用说明\r\n\r\nDerd基于微软的DbProviderFactory技术实现，根据实际使用的数据库类型，需要引入实现了对应数据库的DbProviderFactory相关接口的第三方包；已测试并验证通过的数据库第三方包对应关系如下：\r\n\r\n| 数据库库类型 | 依赖包                        |\r\n| ------------ | ----------------------------- |\r\n| Sqlite       | System.Data.SQLite            |\r\n| Mysql        | MySql.Data                    |\r\n| Oracle       | Oracle.ManagedDataAccess.Core |\r\n| SqlServer    | Microsoft.Data.SqlClient      |\r\n| Postgres     | Npgsql                        |\r\n| 达梦         | dmdbms.DmProvider             |\r\n| 人大金仓     | Kdbndp                        |\r\n\r\n使用时，可根据需要添加其中的一项或多项依赖。\r\n\r\n*注：其他未列出的实现了微软DbProviderFactory接口的数据库理论上应全部支持，尚未实际验证；有兴趣的小伙伴可自己试验。\r\n\r\n\r\n\r\n## :pencil:文档\r\n\r\n- [数据库连接](https://softwaiter.github.io/Derd/#/0201)\r\n- [模型定义](https://softwaiter.github.io/Derd/#/0202)\r\n- [属性类型](https://softwaiter.github.io/Derd/#/0203)\r\n- [模型用法](https://softwaiter.github.io/Derd/#/0204)\r\n- [属性约束](https://softwaiter.github.io/Derd/#/0205)\r\n- [拦截器](https://softwaiter.github.io/Derd/#/0206)\r\n- [Processor](https://softwaiter.github.io/Derd/#/0207)\r\n- [数据库事务](https://softwaiter.github.io/Derd/#/0208)\r\n\r\n\r\n\r\n# 🎈 协议\r\n\r\nDerd 使用 [MIT 协议](https://github.com/softwaiter/Derd/blob/master/LICENSE)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwaiter%2FDerd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftwaiter%2FDerd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwaiter%2FDerd/lists"}