技术交流

ASP.NET/.NET Core ORM开源项目

2020-05-20 阅读(

【ASP.NET/.NET Core ORM开源项目】ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。

什么是ORM?

ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

为什么用ORM?

在程序开发中,数据库保存的表、字段与程序中的实体类之间是没有关联的,在实现持久化时非常不方便。那么,到底如何实现持久化呢?一种简单的方案是采用硬编码方式,为每一种可能的数据库访问操作提供单独的方法。这种方案存在以下不足:

1、持久化层缺乏弹性,一旦出现业务需求的变更,就必须修改持久化层的接口;

2、持久化层同时与域模型与关系数据库模型绑定,不管域模型还是关系数据库模型发生变化,都需要修改持久化层的相关程序代码,增加了软件的维护难度。

ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。

项目名称项目描述代码仓库地址
Insight.DatabaseFast, lightweight .NET micro-ORMhttps://www.github.com/orm-core-group/Insight.Database
RepoDbA dynamic, lightweight, efficient and very fast Hybrid ORM library for .NET.https://www.github.com/orm-core-group/RepoDb
nhibernate-coreNHibernate Object Relational Mapperhttps://www.github.com/orm-core-group/nhibernate-core
EntityFrameworkCoreEntity Framework Core is a lightweight and extensible version of the popular Entity Framework data access technologyhttps://www.github.com/orm-core-group/EntityFrameworkCore
CYQ.DataCYQ.Data是一款操作数据库用的数据框架:安全稳定、简洁易用、功能强大、性能优越、内置支持多数据库、多语言、RSS、AOP、事务等功能。https://www.github.com/orm-core-group/cyqdata
FreeSqlFreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.https://www.github.com/orm-core-group/FreeSql
ChloeA lightweight and high-performance Object/Relational Mapping(ORM) library for .NET --C#https://www.github.com/orm-core-group/Chloe
ServiceStack.OrmLiteFast, Simple, Typed ORM for .NEThttps://www.github.com/orm-core-group/ServiceStack.OrmLite
DapperDapper - a simple object mapper for .Nethttps://www.github.com/orm-core-group/Dapper
X新生命团队基础框架X组件,包括日志、数据库、网络、RPC、序列化、缓存、Windows服务、多线程等模块,支持.Net Framework/.netstandard/Mono。https://www.github.com/orm-core-group/X
linq2dbLinq to database provider.https://www.github.com/orm-core-group/linq2db
Dapper-PlusDapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NEThttps://www.github.com/orm-core-group/Dapper-Plus
PetaPocoOfficial PetaPoco, A tiny ORM-ish thing for your POCO'shttps://www.github.com/orm-core-group/PetaPoco
SmartSqlSmartSql = MyBatis .NET Core+ Cache(Memory or Redis) + R/W Splitting + Dynamic Repository + Diagnosticshttps://www.github.com/orm-core-group/SmartSql
simplestack.ormDapper with query generator from NServicekit.OrmLitehttps://www.github.com/orm-core-group/simplestack.orm
NPocoSimple microORM that maps the results of a query onto a POCO object. Project based on Schotime's branch of PetaPocohttps://www.github.com/orm-core-group/NPoco
AntData.ORMvs插件或者t4一键生成entity支持配置非物理外键,分离linq转sql引擎(原生linq非扩展)和执行dal功能,支持异步、支持netcore2.0。https://www.github.com/orm-core-group/AntData.ORM
ChainMicro ORM for .Nethttps://www.github.com/orm-core-group/Chain
DbEntryDbEntry.Net (Leafing Framework) is a lightweight, high performance ORM compnent for .Net.https://www.github.com/orm-core-group/DbEntry
Paradigm.ORM.NET Core ORM with dbfirst support, and code scaffolding features. This ORM supports different database sources.https://www.github.com/orm-core-group/Paradigm.ORM
Weed3微型ORM框架https://www.github.com/orm-core-group/Weed3
SqlFuFast and versatile .net core data mapper/micro-ormhttps://www.github.com/orm-core-group/SqlFu
Dos.ORMDos.ORM(原名Hxj.Data)于2009年发布,2015年正式开源,该组件已在数百个成熟项目中应用。https://www.github.com/orm-core-group/Dos.ORM
Razor.OrmRazor.Ormhttps://www.github.com/orm-core-group/Razor.Orm
SqlSugarBest ORM Fastest ORM Simple Easy Sqlite orm Oracle ORM Mysql Orm postgresql ORm SqlServer oRmhttps://www.github.com/orm-core-group/SqlSugar
Folke.ElmObject-Relational Mapping library written in C#https://www.github.com/orm-core-group/Folke.Elm
CoPilotLight weight object relational mapper (O/RM) for .Nethttps://www.github.com/orm-core-group/CoPilot
声明:以上文章素材和专业知识由本站人工原创整理,谢绝转载。

有问
必答