目前的.NET(C#)世界里,有哪些主流的ORM--SqlSugar,Dapper,Entity Framework(EF)还是...

0.428字数 1269阅读 2516

目前的.NET(C#)世界里,有哪些主流的ORM--SqlSugar,Dapper,Entity Framework(EF)还是...


在以前的一篇文章中,为大家分享了《什么是ORM?为什么用ORM?浅析ORM的使用及利弊》。那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper,Entity Framework(EF)还是ServiceStack.OrmLite?或者是你还有更好的ORM推荐呢? 如果有的话,不防也一起分享给大家。

.NET(C#)主流ORM总揽

今天这篇文章分享几款收集的目前.NET(C#)中比较流行的ORM框架,比如(以下框架均为开源框架,托管于github上):

SqlSugar(国内)

Dos.ORM(国内)

Chloe(国内)

StackExchange/Dapper(国外)

Entity Framework (EF)(国外)

ServiceStack/ServiceStack.OrmLite(国外)

linq2db(国外)

Massive(国外)

PetaPoco(国外)

SqlSugar

SqlSugar是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4.+ & .NET CORE的高性能、轻量级 ORM框架,众多.NET框架中最容易使用的数据库访问技术。

推荐理由:

国内开发者开发维护;

支持.NET Core;

支持主流数据库,如:SQL Server,MySql,Oracle,Sqlite等;

维护更新及时

推荐等级:★★★★☆

Dos.ORM

Dos.ORM(原Hxj.Data)于2009年发布,2015年正式开源。在开发过程中参考了NBear与MySoft,吸取了他们的一些精华,加入新思想,同时参考EF的Lambda语法进行大量扩展。该组件已在数百个成熟项目中应用。官方网站:http://ITdos.com/Dos/ORM/Index.html

推荐理由:

上手简单,0学习成本。使用方便,按照sql书写习惯编写C#.NET代码。功能强大

高性能,接近手写Sql

体积小(不到150kb,仅一个dll)

完美支持Sql Server(2000至最新版),MySql,Oracle,Access,Sqlite等数据库

支持大量Lambda表达式写法,国产ORM支持度最高,开源中国ORM排行前三

不需要像NHibernate的XML配置,不需要像EF的各种数据库连接驱动

遵循MIT开源协议,除不允许改名,其它随意定制修改

推荐等级:★★★★☆

StackExchange/Dapper

Dapper是国外知名编程问答社区Stackoverflow的团队开发的用于.NET Framework平台的ORM框架,特点是免费,开源并且非常轻量,Statckoverflow的很多数据业务处理也是基于Dapper。

推荐理由:

纯对象化:增删查改都是基于 lambda 表达式树,全对象化编程,智能提示,编译检查,容错率极高。既稳定又灵活好用

高性能:轻量即高效,框架注重数据库访问,没有重度封装与设计,整个框架体积不足200KB。DataReader 向实体转换使用了 Emit 生成 il 代码的方式,避免反射带来大量计算损耗,实体映射速度比肩 Dapper,接近手写

多数据库:支持 SqlServer、MySql、Sqlite 以及 Oracle 等主流数据库,灵活切换数据库,亦可在一个项目中同时使用多种数据库

推荐等级:★★★★☆

PetaPoco

PetaPoco:轻量的POCO对象和数据库映射的ORM框架。

推荐等级:★★★★☆

ServiceStack/ServiceStack.OrmLite

ServiceStack.OrmLite的目标是提供一种方便,无干扰,无配置的RDBMS无关类型的封装,与SQL保持高度的契合,展现直观的API,可以生成可预测的SQL。

ServiceStack.OrmLite的宗旨:Fast, Simple, Typed ORM for .NET

推荐等级:★★★★☆

linq2db

linq2db也是一款快速、轻量、类型安全的POCO对象和数据库映射的ORM框架。从构架上来说,linq2db是对比如:Dapper、PetaPoco这个的微ORM的进一步封装,但它不像Entity

Framework那样笨重。它没有实现状态跟踪,需要自己处理实体的状态更改等。

推荐等级:★★★★☆

Entity Framework (EF)

ADO.NET

Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping)

解决方案。该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。

推荐等级:★★★☆☆

Massive

Massive:小巧,动态的微ORM框架。

推荐等级:★★★☆☆

以上是笔者收集整理的部分目前.NET(C#)中流行的ORM框架。

如果你还有其他更好的ORM,欢迎留言,交流。

如果你觉得本文对你或者他人有帮助,请点个赞吧。

本文同步发表至图享网目前的.NET(C#)世界里,有哪些主流的ORM--SqlSugar,Dapper,Entity Framework(EF)还是...