zoukankan      html  css  js  c++  java
  • 【转】.NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...

    原文链接:https://segmentfault.com/a/1190000011676744

    前言

    在以前的一篇文章中,为大家分享了《什么是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/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,欢迎留言,交流。

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

  • 相关阅读:
    java 自定义表单 动态表单 表单设计器 工作流引擎 flowable 设计方案
    设置Springboot返回jackson数据序列化
    SpringCloud Alibaba 报 AbstractMethodError 是版本兼容问题导致
    Springboot进阶JDBC、Druid、Mybatis、Swagger、SpringMVC、Mail
    java 自定义表单 动态表单 表单设计器 工作流引擎 flowable 项目源码
    springcloud Alibaba 微服务 flowable 工作流 自定义表单 vue.js前后分离
    ClassLoader读取文件,springboot打jar包后读取不到
    Nginx/Tomcat/Apache的优缺点和区别
    Swagger3 相比2配置变了
    webloginc配置项目根目录
  • 原文地址:https://www.cnblogs.com/Violety/p/12144669.html
Copyright © 2011-2022 走看看