有哪些值得推荐的.NET ORM框架?
前言:
最近有很多同学问我.NET方面有哪些好用的ORM框架,我觉得这方面的介绍网上应该会介绍的比较全面文章,于是我想搜一篇全面的介绍文章发给他们结果我发现网上说来说去基本上就是那几个,于是就有了这篇文章。
什么是ORM?
ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。它解决了对象和关系型数据库之间的数据交互问题,ORM的作用是在关系型数据库和业务实体对象之间作一个映射,这样我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。
如何选择合适自己的ORM框架?
EF/EF Core
Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET 的现代对象数据库映射器。它支持 LINQ 查询、更改跟踪、更新和架构迁移。EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 和其他数据库一起使用。(微软官方出品)。
EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点:
使 .NET 开发人员能够使用 .NET 对象处理数据库。
无需再像通常那样编写大部分数据访问代码。
官方文档教程:https://docs.microsoft.com/zh-cn/ef/
GitHub地址:https://github.com/dotnet/efcore
以下是EF/EF Core相关拓展程序包:
EFCore.BulkExtensions - EF的批量操作库。
EntityFramework-Plus - EF的增强工具集,包括过滤器,审核,缓存,查询,批删除,批更新等。
EntityFramework.Exceptions - 当您的SQL查询违反SqlServer,MySql或PostgreSQL中的数据库约束时,请对EntityFrameworkCore使用类型化的异常处理。
EntityFramework.Triggers - EF触发器。
EntityFramework.Rx - EF的Reactive 扩展程序。
Npgsql.EntityFrameworkCore.PostgreSQL - PostgreSQL的EF驱动程序。
EntityFramework.TypedOriginalValues - 通过某些特殊方法来获得数据库对象在本次修改前的原始值。常见的使用场景是对数据库操作的数据做审计。
EntityFramework.VersionedProperties - 将对象里每次变更历史自动保存到一个特定的属性里。审计或者做历史版本时比较适用。
LINQKit - LINQKit是LINQ对SQL和Entity Framework的免费扩展集。
Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。
spectre.query - EF的简单查询库。
StoredProcedureEFCore-用于执行存储过程的 Entity Framework Core 扩展。
Dapper
Dapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。
主要特点:高性能、易排查、易运维、灵活可控。
GitHub地址:https://github.com/DapperLib/Dapper
以下是Dapper相关拓展程序包:
Dapper-Extensions - Dapper Extensions 是一个小型ORM库,通过为您的 POCO 添加基本的 CRUD 操作(获取、插入、更新、删除)来补充Dapper。对于更高级的查询场景,Dapper Extensions 提供了一个谓词系统。这个库的目标是通过不需要任何属性或基类继承来保持你的 POCO 纯净。
Dapper-FluentMap - Dapper的扩展。
Dommel - Dapper的CRUD操作。
MicroOrm.Dapper.Repositories - Dapper的CRUD操作。
六款值得推荐的Android开源框架简介 技术不再多,知道一些常用的.不错的就够了.下面就是最近整理的"性价比"比较高的Android开源框架,应该是相对实用的. 1.volley ... 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ... 转载自:值得推荐的C/C++框架和库 - 蓝色理想 - C++博客 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用for ... 转:值得推荐的C/C++框架和库(真的很强大) - 天将 - 博客园 天将 转:值得推荐的C/C++框架和库(真的很强大) 值得学习的C语言开源项目 - 1 Webbench - 2 Tinyhttp ... 此文章转载至http://blog.csdn.net/lxmhuendan/article/details/39643995点击打开链接 虽然我们在做app的时候并不一定用到框架,但是一些好框架的思想 ... 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(sched ... 目录(?)[-] 值得学习的C语言开源项目 Libevent Memcached Redis Webbench APRApache Portable Runtime NGINX Tinyhttpd c ... 本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语言 ... 值得学习的C语言开源项目 C++ 资源大全 值得学习的C语言开源项目 1.Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我 ...有哪些值得推荐的.NET ORM框架?相关推荐
最新文章
热门文章