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

前言

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

.NET(C#)主流ORM总揽

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

SqlSugar

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

特点:

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

推荐等级:★★★★☆

PetaPoco

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

特点:

  • 开源、免费

推荐等级:★★★★☆

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/Index.html

特点:

  • 开源、免费
  • 上手简单,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,欢迎留言,交流。

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

MonoDevelop 3.0——更好的代码完成、性能与快速修复建议

近日,MonoDevelop 3.0发布了,该版本提供了一些新特性,专注于性能、开发者生产力,特别针对C#开发者。 该版本主要的变化在于MonoDevelop的...

21150
来自专栏葡萄城控件技术团队

.NET 新标准介绍

本文介绍如何使用 .NET 标准,更容易地实现向 .NET Core 迁移。文中会讨论计划包含的 APIs,跨构架兼容性如何工作以及这对 .NET Core 意...

20680
来自专栏角落的白板报

.NET CORE 框架ABP的代码生成器(ABP Code Power Tools )使用说明文档

前言 各位好,又是一个多月没更新文章了。 原因嘛,大家都懂的,太忙了~ 临近年末,公司的项目、年会的做技术支持,同事朋友聚餐也比较频繁。 当然视频教程也没有继...

56250
来自专栏Web 开发

又是一年PC操作系统三国鼎立的时刻~

Win8 在今早零时,发布开发者预览版,Lion已经发布多时,Ubuntu11.10的正式版也已经逼近

8800
来自专栏智能大石头

Microsoft® .NET Micro Framework简介

MF全称Microsoft® .NET Micro Framework,是微软推出的一个微型.Net框架,微型到什么程度呢?它自身就可以是一个操作系统OS,它...

12200
来自专栏施炯的IoT开发专栏

Windows 10 IoT Core 17115 for Insider 版本更新

今天,微软发布了Windows 10 IoT Core 17115 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性。 一些已知的...

34740
来自专栏张善友的专栏

Phalanger---PHP的.NET编译器

除了IronPython,微软正试着让.NET平台支持更多你我熟知的动态语言,例如Perl、PHP、Ruby。根据IronPython的创造者、也是微软CLR开...

20280
来自专栏张善友的专栏

Microsoft .NET Framework 3.5中文组件包

.NET Framework 3.0 中增加了不少新功能,例如 Windows Workflow Foundation (WF)、Windows Communi...

22770
来自专栏Web行业观察

Mac下禁用一些高占用的进程

晚上在 terminal 里敲代码,发现系统异常的卡顿。在 Activity Monitor 里发现 ReportCrash 进程占用了大量的 CPU

64520
来自专栏me的随笔

.NET常用第三方库(包)总结

以上二位都是从JAVA阵营移植过来的,对于分布式系统使用文本日志追踪问题也是比较恶心的一件事儿

13020

扫码关注云+社区

领取腾讯云代金券