.NET(C#)有哪些主流的ORM框架,FreeSql,SqlSugar,Dapper,EF仍是...

前言

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

.NET(C#)主流ORM总揽

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

  • FreeSql (国内)
  • SqlSugar (国内)
  • Dos.ORM (国内)
  • Chloe (国内)
  • StackExchange/Dapper (国外)
  • Entity Framework (EF) (国外)
  • NHibernate (国外)
  • ServiceStack/ServiceStack.OrmLite (国外)
  • linq2db (国外)
  • Massive (国外)
  • PetaPoco (国外)

FreeSql

FreeSql是一个功能强大的NETStandard库,用于对象关系映射程序(O/RM),以便于开发人员可以使用 .NETStandard 对象来处理数据库,没必要常常编写大部分数据访问代码。sql

特性

  • 开源、免费。
  • CodeFirst 迁移。
  • DbFirst 从数据库导入实体类,支持三种模板生成器。
  • 采用 ExpressionTree 高性能读取数据。
  • 类型映射深刻支持,好比pgsql的数组类型,堪称匠心制做。
  • 支持丰富的表达式函数。
  • 支持导航属性查询,和延时加载。
  • 支持同步/异步数据库操做方法,丰富多彩的链式查询方法。
  • 支持事务。
  • 支持多种数据库,MySql/SqlServer/PostgreSQL/Oracle/Sqlite。

推荐等级:★★★★★数据库

github:https://github.com/2881099/Fr...数组

SqlSugar

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

特色:

  • 开源、免费
  • 国内开发者开发、维护;
  • 支持.NET Core;
  • 支持主流数据库,如:SQL Server,MySql,Oracle,Sqlite等;
  • 维护更新及时

推荐等级:★★★★☆安全

PetaPoco

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

特色:

  • 开源、免费

推荐等级:★★★★☆app

linq2db

linq2db也是一款快速、轻量、类型安全的POCO对象和数据库映射的ORM框架。从构架上来讲,linq2db是对好比:Dapper、PetaPoco这个的微ORM的进一步封装,但它不像Entity Framework那样笨重。它没有实现状态跟踪,须要本身处理实体的状态更改等。框架

推荐等级:★★★★☆

Dos.ORM

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

特色:

  • 开源、免费
  • 上手简单,0学习成本。使用方便,按照sql书写习惯编写C#.NET代码。功能强大
  • 高性能,接近手写Sql
  • 体积小(不到150kb,仅一个dll)
  • 完美支持Sql Server(2000至最新版),MySql,Oracle,Access,Sqlite等数据库
  • 支持大量Lambda表达式写法,国产ORM支持度最高,开源中国ORM排行前三
  • 不须要像NHibernate的XML配置,不须要像EF的各类数据库链接驱动
  • 遵循MIT开源协议,除不容许更名,其它随意定制修改

推荐等级:★★★☆☆

ServiceStack.OrmLite

ServiceStack.OrmLite的目标是提供一种方便,无干扰,无配置的RDBMS无关类型的封装,与SQL保持高度的契合,展示直观的API,能够生成可预测的SQL。
ServiceStack.OrmLite的宗旨:Fast, Simple, Typed ORM for .NET

特色:

  • 开源、收费(免费版只支持单个库10张表)

推荐等级:★★★☆☆

Entity Framework (EF)

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。该框架曾经为.NET Framework的一部分,但version 6以后从.NET Framework分离出来。

推荐等级:★★★☆☆

NHibernate

NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。

特色:

  • 开源、免费
  • 批量写入
  • 批量读/多重查询特性(我理解是在说Future?)
  • 批量的集合加载
  • 带有lazy="extra"的集合
  • 集合过滤器和分页集合
  • 二级缓存(实际上NH的二级缓存貌似也很简单?)
  • 集成和扩展性
  • 代码自动生成,减小代码和sql的开发量,使开发人员摆脱开sql,ado.net和事务,缓存等底层

推荐等级:★★★☆☆

Massive

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

推荐等级:★★★☆☆


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

若是你还有其余更好的ORM,欢迎留言,交流。

若是你以为本文对你或者他人有帮助,请点个赞吧。

相关文章
相关标签/搜索