IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 2022年 .NET ORM 完整比较、助力选择 -> 正文阅读

[大数据]2022年 .NET ORM 完整比较、助力选择

为什么要写这篇文章?

希望针对 SEO 优化搜索引擎,让更多中国人知道并且使用 SqlSugar ORM

肯请正在使用 SqlSugar的朋友,动一动手指转发本文,并加上原文链接指向本文,谢谢! QQ群:995692596(已满)、726648662(在线)、958343000(在线)

2|0.NET ORM 基础信息比较

功能项SqlSugarEFCoreFreeSql
出生时间2014年(约)2015年(约)2018年(约)
开源协议Apache-2.0Apache-2.0MIT
所属机构企业dotnet?个人?
单元测试数量5500+很多
github star4k+9.5k+3k+
github issues活跃活跃不活跃
支持平台.NET4.0+、.NETCore.NETCore.NET4.5+、.NETCore
支持数据库很多,并且行为一致很多SqlServer/MySql/Sqlite/Oracle
生命周期

Singleton

Scoped

ScopedSingleton
使用方式ISqlSugarClient、RepositoryDbContextIFreeSql

SqlSugar.NET ORM 支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/人大金仓/神舟通用/Access。

.NET ORM 各有自已看家本领,本文主要按 SqlSugar提供的功能进行列举比较,如有冒犯请见谅,也欢迎向 SqlSugar提出功能建议。

每个功能实现的深度层次不一样(比如 EFCore 支持 SqlServer 2012,SqlSugar支持 SqlServer 2005),很难彻底比较,提示:

  • 本文比较的功能 SqlSugar每种数据库基本都有提供,不像 EFCore 偏向 SqlServer
  • 本文只比较官方提供的功能(不包含第三方扩展)

3|0.NET ORM 整体功能比较

功能项SqlSugarEFCoreFreeSql
.NET ORM CodeFirst 根据实体类型,创建表结构???
.NET ORM CodeFirst 根据实体类型,对比表结构??-
.NET ORM CodeFirst 根据实体类型注释,迁移表结构备注?--
.NET ORM CodeFirst FluentApi??-
.NET ORM CodeFirst FluentApi 语法兼容 EFCore??-
.NET ORM CodeFirst 实体特性兼容 EFCore??-
.NET ORM CodeFirst 自定义实体特性(Aop)?-?
.NET ORM CodeFirst 类型转换映射(MapType)??-
.NET ORM DbFirst 根据数据库,生成实体类???
.NET ORM 导航属性(OneToOne)??-
.NET ORM 导航属性(ManyToOne)??-
.NET ORM 导航属性(OneToMany)??-
.NET ORM 导航属性(ManyToMany)?--
.NET ORM 导航属性(Parent)?父子关系的实体类?--
.NET ORM 导航属性延时加载、贪婪加载、级联保存??-
.NET ORM 自定义表达式树解析?--
.NET ORM 全局过滤器??-
.NET ORM 事务???
.NET ORM 读写分离?-?
.NET ORM 分表分库?--
.NET ORM 仓储 Repository?--
.NET ORM 工作单元 UnitOfWork?--
.NET ORM 工作单元管理器 UnitOfWorkManager?--
.NET ORM DbContext 状态管理??-

4|0.NET ORM CRUD 功能比较

功能项SqlSugarEFCoreFreeSql
.NET ORM CRUD 时,映射动态表名?-?
.NET ORM CRUD 时,使用参数化 SQL 执行???
.NET ORM CRUD 时,不使用参数化 SQL 执行(NoneParameter)?--
.NET ORM CRUD 时,获取对应的 SQL(ToSql)?-?
.NET ORM CRUD 时,统一审计实体属性值(Aop.AuditValue)?--
.NET ORM 插入(单条)???
.NET ORM 插入时,忽略/指定列?-?
.NET ORM 插入时,返回影响的行数?-?
.NET ORM 插入时,返回插入后的自增值???
.NET ORM 插入时,返回插入后的记录?--
.NET ORM 插入时,Insert Ignore Into?--
.NET ORM 插入时,On Duplicate Key Update?--
.NET ORM 插入时,On Conflict Do Update?--
.NET ORM 批量插入?性能测试结果参考文档?-?
.NET ORM 批量插入时,自动分批?参考文档?--
.NET ORM 批量插入时,使用BulkCopy?--
.NET ORM 更新(单条)???
.NET ORM 更新时,动态条件(WhereDynamic)?-?
.NET ORM 更新时,根据实体对象更新?-?
.NET ORM 更新时,根据状态管理只更新有变化的属性??-
.NET ORM 更新时,忽略/指定列?-?
.NET ORM 更新时,原子性 set num=num+1?-?
.NET ORM 更新时,指定条件?-?
.NET ORM 更新时,自动附加全局过滤器条件?--
.NET ORM 更新时,不需要先查询?-?
.NET ORM 更新时,使用乐观行锁??-
.NET ORM 更新时,使用悲观锁?--
.NET ORM 更新时,返回影响的行数?-?
.NET ORM 更新时,返回插入后的记录?--
.NET ORM 批量更新?--
.NET ORM 删除(单条)???
.NET ORM 删除时,动态条件(WhereDynamic)?-?
.NET ORM 删除时,指定条件?-?
.NET ORM 删除时,自动附加全局过滤器条件?--
.NET ORM 删除时,不需要先查询?-?
.NET ORM 删除时,返回影响的行数?-?
.NET ORM 删除时,返回插入后的记录?--
.NET ORM 级联保存??-
.NET ORM 添加或更新?-?
.NET ORM 添加或更新,自动适配 merge into?参考文档?--
.NET ORM 批量编辑保存?参考文档??-
.NET ORM 查询(单条)???
.NET ORM 查询时,分页???
.NET ORM 查询时,分页支持 SqlServer2008?-?
.NET ORM 查询时,动态条件(WhereDynamic)?-?
.NET ORM 查询时,动态过滤条件(WhereDynamicFilter)?参考文档?-?
.NET ORM 查询时,自动附加全局过滤器条件?--
.NET ORM 查询时,多表条件传播(WhereCascade)?--
.NET ORM 查询时,在 lambda 中使用导航属性??-
.NET ORM 查询时,用 Dto 映射只需要查询的字段?--
.NET ORM 查询时,传 Sql 作二次查询(WithSql)?-?
.NET ORM 查询时,子查询(Exists)?-?
.NET ORM 查询时,子查询(In)?-?
.NET ORM 查询时,子查询拼接结果(string.Join)?参考文档?--
.NET ORM 查询时,使用分组聚合(GroupBy/Having)???
.NET ORM 查询时,使用 Linq To Sql 语法??-
.NET ORM 查询时,针对树形结构表?父子关系的实体类?--

5|0.NET ORM 总结

.NET ORM SqlSugar功能强大,扩展方便,从 issues 和 qq群 可以看得出社区更新极积有问必应;

.NET ORM EFCore 主要是面向对象操作,许多方式不符合中国人习惯,长期更新(但不友好兼容);

.NET ORM FreeSql?历史问题多,并且 issues 和 qq群 已经基本不解决问题;


.NET ORM SqlSugar作者的努力希望能打动到你,肯请正在使用的、善良的您能动一动小手指,把文章转发一下,让更多人知道 .NET 有这样一个好用的 ORM 存在。谢谢了!!

.NET ORM SqlSugar 开源协议 ??https://github.com/donet5/SqlSugar,可以商用,文档齐全。QQ群:995692596(已满)、726648662(在线)、958343000(在线)

如果你有好的 ORM 实现想法,欢迎给作者留言讨论,谢谢观看!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-04 00:01:46  更:2022-06-04 00:03:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:34:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码