盘点.Net中10个流行的开源ORM框架

对于我们而言选择ORM框架的目的,其实都是为了让我们的程序更好的操作数据库,提高开发编程效率和程序的维护拓展性。所以我们选择ORM需要从项目实际业务出发,选择最

老铁们,大家好,相信还有很多朋友对于盘点.Net中10个流行的开源ORM框架和的相关问题不太懂,没关系,今天就由我来为大家分享分享盘点.Net中10个流行的开源ORM框架以及的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

1、SqlSugar(国内)

支持SqlServer、MySql、PgSql、Oracle插入blukcopy表大数据自处理,支持多租户、多数据库事务,支持CodeFirst数据迁移。支持Join查询、Union all、Subquery。支持配置查询。支持DbFirst从数据库导入实体类,或者使用生成工具。支持一对多和多对多导航属性。支持MySql、SqlServer、Sqlite、Oracle、postgresql、QuestDb、ClickHouse、大盟、仁达金仓、神通数据库、汉高、MsAccess、华为GaussDB、GBase 8s、Odbc,自动定义支持AOP、Diff Log和Query Filter。开源地址:https://github.com/donet5/SqlSugar

2、Dos.ORM(国内)

Dos.ORM于2009年发布,2015年正式开源。该组件已在数百个成熟项目中使用。在最初的开发过程中,吸收了NBear和MySoft的一些精华,并加入了新的想法。后来参考EF Lambda语法进行了大量的扩展。经过数十个版本的更新迭代,发布了新的v2.0版本,支持动态列/表、分库/分表等。

开源地址:https://github.com/itdos/Dos.ORM

3、Chloe(国内)

Chloe 是一个轻量级对象/关系映射(ORM) 库。查询接口与LINQ类似。您可以使用Chloe.ORM 通过lambda 查询类似于LINQ 的数据并执行任何操作(查询| 组查询| 聚合查询| 插入| 批量更新| 批量删除)。

开源地址:https://github.com/shuxinqin/Chloe

4、StackExchange/Dapper(国外)

Dapper.EntityFrameworkEntityFramework 的扩展处理程序Dapper.EntityFramework.StrongNameEntityFramework 的扩展处理程序Dapper.Rainbow 在Dapper 上实现的Micro-ORM,提供CRUD 助手Dapper.SqlBuilder 组件用于动态和可组合地构建SQL 查询Dapper.StrongName 支持MySQL、Sqlite、SqlICE而Firebird的高性能微ORM开源地址:https://github.com/DapperLib/Dapper

5、Entity Framework (EF)(国外)

是微软封装的http://ADO.NET数据实体模型,以ORM方式将数据库结构映射到应用程序。

EF 提供更改跟踪、唯一约束、延迟加载、查询事务等。

开发人员使用Linq语言像操作对象一样轻松地操作数据库。

EF有三种使用场景:

1.从数据库生成Class。

2. 从实体类生成数据库表结构。

3、通过数据库可视化设计器设计数据库,同时生成实体类。

盘点.Net中10个流行的开源ORM框架

开源地址:https://github.com/dotnet/ef6

6、NHibernate(国外)

NHibernate 是.NET Framework 的成熟开源对象关系映射器。它得到积极开发,功能齐全,并用于数千个成功项目。

开源地址:https://github.com/nhibernate/nhibernate-core

7、ServiceStack/ServiceStack.OrmLite(国外)

.NET 的简单、快速、类型化ORM

开源地址:https://github.com/ServiceStack/ServiceStack.OrmLite

8、linq2db(国外)

LINQ to DB 是最快的LINQ 数据库访问库,在POCO 对象和数据库之间提供简单、轻量、快速且类型安全的层。

从架构上来说,它比Dapper、Massive 或PetaPoco 等微型ORM 更进一步,因为您使用LINQ 表达式而不是魔术字符串,同时在代码和数据库之间保持一个薄抽象层。您的查询由C# 编译器检查并允许轻松重构。

但是,它不像LINQ to SQL 或实体框架那么繁重。没有更改跟踪,因此您必须自己管理它,但从好的方面来说,您可以更好地控制并更快地访问数据。

换句话说,LINQ to DB 是类型安全的SQL。

开源地址:https://github.com/linq2db/linq2db

9、Massive(国外)

一个小型、快乐、动态的.NET MicroORM

开源地址:https://github.com/FransBouma/Massive

10、PetaPoco(国外)

非常小,绝对没有依赖!异步或同步,选择权在于您。 (又名异步)(V6)与严格未修改的POCO 一起使用或归因于几乎POCO。易于配置,包括开箱即用的平滑配置。用于插入/删除/更新/保存和IsNew 分页请求的辅助方法会自动计算记录总数并获取特定页面。简单的交易支持。更好的参数替换支持,包括从对象属性获取命名参数。通过使用DynamicMethod 生成消除Linq 和快速属性分配,获得出色的性能。查询语言是很好的ole SQL。包括一个低摩擦SQL 构建器类,使编写内联SQL 变得更容易。包括T4 模板来自动为您生成POCO 类。 (V5) 用于记录异常、安装值转换器以及将列映射到没有属性的属性的挂钩。适用于SQL Server、SQL Server CE、MS Access、SQLite、MySQL、MariaDB、Firebird 和PostgreSQL。 (Oracle 支持但没有集成测试)。在Net Standard 2.0、NET 4.0/4.5+ 或Mono 2.8 及更高版本下工作。有Xunit 单元测试。支持数据库集成测试。开源地址:https://github.com/CollaboratingPlatypus/PetaPoco

用户评论

盘点.Net中10个流行的开源ORM框架
可儿

这个文章终于来了!一直想了解哪个 .NET 开源 ORM 框架比较好,希望介绍得详细一点,帮我选出一个用起来方便的。

    有15位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
孤街浪途

对于入门程序员来说,选择合适的 ORM 框架确实是个难题。这篇文章盘点正好能让我快速了解主流框架的特点,省去了很多摸索的时间。

    有16位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
莫失莫忘

看完这些框架的介绍,感觉 Entity Framework Core 还是最常用的吧?不过我个人更偏向于轻量级的方案,可能要试试 Dapper 了。

    有5位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
Hello爱情风

这篇文章写的真不错!每个框架都做了比较全面的介绍,加上适用场景的分析,让我更容易理解它们的差异。感谢作者分享!

    有9位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
堕落爱人!

说的都是大框架,还有很多 niche 的库,比如针对特定数据库场景或者特殊需求的 ORM 也不错呢,例如 我用的 Project Npgsql,很简洁高效。

    有9位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
凉城°

虽然这篇文章介绍了不少流行的ORM框架,但我还是建议大家根据实际项目需求选择合适的框架。盲目追求热门并不代表适合自己!

    有9位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
人心叵测i

这篇博文让我感觉比较鸡肋,这些都只是表面上的介绍,想要真正掌握哪个框架,还得是自己多尝试才能理解啊。希望能有更深入的技术分析。

    有13位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
╯念抹浅笑

Personally, I'd say that NHibernate is a powerful ORM with lots of features, but it can be complex to master. EF Core is more beginner-friendly.

    有10位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
青衫负雪

I've been using Dapper for a while now and love its simplicity and speed! It's great for smaller projects or when you need raw SQL control.

    有16位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
〆mè村姑

Great list! Would love to see comparisons of the performance benchmarks between different ORMs, that would help in making a more informed decision.

    有15位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
一生荒唐

Just wanted to add, don't forget about LinqPad! It's a fantastic tool for experimenting with queries and ORM concepts within .NET.

    有8位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
巷雨优美回忆

I agree that selecting the right ORM is crucial depending on the project size and complexity. This article helped me broaden my understanding of available options.

    有9位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
抚笙

For those unfamiliar with ORMs, this list provides a good starting point. Spend some time exploring each framework to see which one best suits your needs.

    有20位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
放血

While this list covers popular ORMs, remember there might be niche frameworks specifically tailored for certain database platforms or use cases that deserve a mention too.

    有14位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
花菲

I'm always on the lookout for ways to optimize performance in my .NET projects. Could this article delve deeper into how different ORM implementations affect application speed?

    有12位网友表示赞同!

盘点.Net中10个流行的开源ORM框架
罪歌

Having clear knowledge about the pros and cons of each ORM is essential before selecting one. This article lays a good foundation for further research into individual frameworks.

    有14位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/97512.html

(0)
小su's avatar小su
上一篇 2024年8月29日 下午7:18
下一篇 2024年8月29日 下午7:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注