首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

盘点 .NET 比较流行的开源的ORM框架

下面推荐10个主流比较流行的ORM框架,都是开源的项目: 一、SqlSugar(国内) 支持SqlServer、MySql、PgSql和Oracle插入blukcopy 分大数据自处理 支持租户、库事务...支持一的导航属性 支持MySql、SqlServer、Sqlite、Oracle、postgresql、QuestDb、ClickHouse、达梦、人大金仓、神通数据库、瀚高、MsAccess...初期开发过程中吸取了NBear与MySoft的一些精华并加入新思想,之后参考EF Lambda语法进行大量扩展。 经过数十个版本的更新迭代发布全新v2.0版本,支持动态列/、分库/分等。...)(国外) 它是微软封装好一种http://ADO.NET数据实体模型,数据库结构以ORM模式映射到应用程序中。...(V5) 用于记录异常、安装值转换器和列映射到没有属性的属性的挂钩。

3.9K41

一步步学习EF Core(3.EF Core2.0路线图)

1.时间 EF Core的更新计划与.NET Core和ASP.NET Core时间同步,如下: 发布版本 发布季度 2.0- preview1 2017年第2季度 2.0- preview2 2017...从数据库更新模型允许以前从数据库逆向工程的模型随着您对架构的更改而刷新。   3.3Modelling(实体模型) 复数/值类型是不具有主键的类型,用于表示实体类型上的一组属性。...简单的类型转换,如string => xml。 多关系没有连接实体。可以与连接实体建立多关系。 关系数据库的替代继承映射模式,例如每种类型(TPT)和每个具体类型TPC的。...拥有的实体和分割(以启用复杂类型和/或值对象模式)(#246) - 允许映射类型不具有自己的身份,但始终依赖于其他对象,并将它们映射到与其父对象相同的。...简单的日志记录API(#1199) - 我们想要一个简单的方法来记录正在执行的SQL(就像Database.Log从EF6.x)。我们还需要一种简单的方法来查看正在记录的内容。

3K90
您找到你想要的搜索结果了吗?
是的
没有找到

2022年了有哪些值得推荐的.NET ORM框架?

EntityFramework.Exceptions - 当您的SQL查询违反SqlServer,MySql或PostgreSQL中的数据库约束时,请EntityFrameworkCore使用类型化的异常处理...EntityFramework.VersionedProperties -  将对象里每次变更历史自动保存到一个特定的属性里。审计或者做历史版本时比较适用。...LINQKit - LINQKit是LINQSQL和Entity Framework的免费扩展集。 Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。...ShardingCore - EF Core分分库读写分离的扩展。...PgSql 的数组类型等; 支持 丰富的表达式函数,以及灵活的自定义解析; 支持 导航属性一贪婪加载,以及延时加载; 支持 读写分离、分分库、过滤器、乐观锁、悲观锁; 支持 MySql/

5.7K11

2022年了有哪些值得推荐的.NET ORM框架?

EntityFramework.Exceptions - 当您的SQL查询违反SqlServer,MySql或PostgreSQL中的数据库约束时,请EntityFrameworkCore使用类型化的异常处理...EntityFramework.VersionedProperties -  将对象里每次变更历史自动保存到一个特定的属性里。审计或者做历史版本时比较适用。...LINQKit - LINQKit是LINQSQL和Entity Framework的免费扩展集。 Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。...ShardingCore - EF Core分分库读写分离的扩展。...,比如 PgSql 的数组类型等; 支持 丰富的表达式函数,以及灵活的自定义解析; 支持 导航属性一贪婪加载,以及延时加载; 支持 读写分离、分分库、过滤器、乐观锁、悲观锁

3.8K20

01-EF Core笔记之创建模型

、byte[]类型有效,默认情况下,EF控制权交给数据库提供程序来决定。...在数据库中,数据之间的关系可以分为一一、一三种,在实体之间同样有这三种关系,但是EF Core仅支持一一、一多关系,如果要实现多关系,则需要通过关系实体进行关联。...的关系需要我们定义一个关系来完成。...):基类和子类不在同一个中,子类中包含基类的所有字段,目前EF Core不支持该模式 EF Core仅支持TPH模式,基类和子类数据存储在同一个中。...查询类型很有用,EF Core不会对它进行跟踪,也不允许新增、修改和删除操作,但是在映射到视图、查询对象、Sql语句查询、只读库的等情况下用到。

3K20

EF Core 入门

EF可以说是很好的诠释了这个理念。 EF可以在不使用任何配置的前提下,自动解析类与之间的映射(具体的映射逻辑与我们手写的ORM工具类一致或相近)。 自动跟踪更改。...可以延迟加载需要的数据,外键引用属性、查询结果等 丰富的映射关系,支持一一,一,甚至继承、单实例等 可以使用Linq 进行查询 非Core版的可以通过数据库生成实体类,两种都可以通过实体类生成...因为EF更多的是基于.NET Framework开发的,所以微软以EF为基础针对.net core做了一定的修改,然后EF Core诞生了。可以说EF Core是专门为.net core开发的。...这是EF Core保留的迁移记录,以便下次使用。 如果项目根目录里没有 blogging.db 这个SQLite文件的话,会自动创建该文件,同时设置好;如果有,但不是SQLite的文件,则会报错。...当然,EF并不只有这些。下一篇介绍如何自定义映射关系。

2.3K10

Entity Framework 4.1 Code-First 学习笔记

EF 将会创建一个名为 dbo.EdmMetadata 的,然后模型结构的 Hash 保存到其中来实现。   如果数据库不存在,EF 将会创建它,创建什么数据库呢?...然后,指定 Address 是复杂类型。如果愿意的话,也可以 [ComplexType] 标签加到类上来说明。然后,使用 Lambda 表达式每一个子属性映射到列上,这将会生成如下的。...----------------------------------------------------------------------------   在通常的业务环境中,我们需要处理的关系...每种实现类型一张 TPC: 有点像其他两个的混合,对于每种实现类型映射到一张,抽象类型像 TPH 一样展开到中。 这里我讨论 TPT 和 TPH,EF 的好处是可以混合使用这些方式。...知道它并不能优秀到覆盖所有的角落,通过允许直接访问数据库,EF 支持开放底层的 ADO.NET 框架。

1.6K10

Entity Framework学习笔记——EF简介(一篇文章告诉你什么是EF

https://blog.csdn.net/huyuyang6688/article/details/41526763         Entity Framework是以ADO.NET为基础,...个人认为百科上EF一句比较经典的解释为:让上层的应用程序码可以如面向对象的方式般访问数据。        ...发送到数据库中去,即操作数据库还是通过ADO.NET,所以本文首句说到了“EF是以ADO.NET为基础,面向数据的‘实体框架’ ”。        ...如上图,假如要把内存中的两个实体Student和Teacher存储到数据库中,EF会自动实体通过EDM的映射,一个实体作为一条记录存入到数据库中去,那EF是如何判断哪个实体应该存到哪张表里,哪个属性应该存到哪个字段里呢...通过上面可以了解到,从读代码的角度来说,EF可以使我们在不需要了解数据结构的情况下就可以很好地理解;从实现的角度来说,EF可以使存储“模型化”,就如同很多个对象存储在一个List中似的,向数据库表里存储的都是一个个实例

2.1K30

C#.NET.NET Core优秀项目框架推荐

前言:   为.NET开源者提供的一个推荐自己优秀框架的地址,大家可以把自己的一些优秀的框架,或者项目链接地址存到在这里,提供给广大.NET开发者们学习(注意:排名不分先后,都是十分优秀的开源框架和项目...ABP Framework 项目地址:https://github.com/abpframework/abp ABP是一个开源应用程序框架,专注于基于ASP.NET Core的Web应用程序开发,但也支持开发其他类型的应用程序..._from=gitee_search YuebonCore基于.Net5.0的权限管理及快速开发框架,前后端分离,核心模块包括:组织机构、角色用户、权限授权、系统、应用管理、定时任务、业务单据编码规则....NET中唯一支持全自动分组件,SAAS分库,大数据处理的ORM 2. .NET 百万级写入、更新 性能最强框架 3....的数组类型等; ✒ 支持 丰富的表达式函数,以及灵活的自定义解析;  支持 导航属性一贪婪加载,以及延时加载;  支持 读写分离、分分库、过滤器、乐观锁、悲观锁;  支持 MySql/SqlServer

2.3K20

EF简介

EF:EF是 asp.net的一套ORM框架....2、系统还会生成一个(对应ef模块名.tt文件),这个模版是帮助我们生成一个数据库对应的实体. 3、另外需要注意一点,系统还会生成一个(对应ef模块名.Designer.cs文件)这个文件在ef4.0...二、使用ef进行数据库的增删改差: ef实现增删改差的流程:(1)通过把实体的变化,转换成数据处理类(语句) (2)通过调用ADO.NET处理类(语句)转换成sql语句(3)sql语句插入到数据库中执行并返回结果...(4)ADO.NET数据库结果返回给程序 通俗点说,就是ef帮助我们把实体的变化翻译成sql语句,然后调用底层的ADO.NET存到数据库中去。...这个错误的时候,大多数情况下,是我们添加的字段的数据长度超过我们数据库定义的字段的长度,或者是我们添加的字段的数据类型和数据库的字段类型不一样导致。

1.4K80

EF+MySQL乐观锁控制电商并发下单扣减库存,在高并发下的问题

我们采用的是预扣库存的方式,预扣库存的时候,在SalesInfo中,最大可售数量MaxSalesNum减去购买数量,用一条SQL语句来表示这个业务,就是下面这个样子的: update salesinfo...但是,经过简单压力测试,上面这个程序会出现“超买”,没有控制到并发修改库存的问题,于是尝试用“EF乐观锁”来解决这个扣减库存的问题, 进阶:EF乐观锁 参考了2篇文章《EF在MySQL中记录的乐观并发控制...(原创)》,《MySQL 实现 EF Code First TimeStamp/RowVersion 并发控制》,由于我们也是EF CodeFirst,所以着重参考了第二篇文章的做法,并且ModifiedTime... 字段改造成Timespan 类型,并添加触发器以便每次修改数据的时候自动更新该字段值,与支持EF的乐观锁,具体做法过程请参考第二篇文章内容。...代码仔细对比了原来博客文章,还有MSDN关于检测EF并发的文章,确认代码是正确的!

2.5K80

EntityFramework数据持久化复习资料1、委托

声明播委托 播委托实例化 实现播委托函数 播委托的使用 总结 ---- 前言 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,更多的时间放到业务逻辑层代码上。...EF有三种使用场景,1. 从数据库生成Class,2.由实体类生成数据库结构,3.通过数据库可视化设计器设计数据库,同时生成实体类。...以前是使用ADO.NET来进行对数据库中得数据进行操作,现在,使用ORM直接对对象进行操作,操作对象就等于操作数据库, 那怎么让对象和数据库一一应起来?...2012及以上版本 ---- 委托的概述与声明 概述 委托是一种引用类型,表示具有特定参数列表和返回类型的方法的引用。...播委托包含已分配的委托列表,因此播委托被调用时会依次调用列表中的委托。但是播委托仅可合并类型相同的委托。使用“-”运算符可以从播委托中删除组件委托。

27420

.NET ORM核心功能之导航属性- EFCore和 SqlSugar

导航属性 导航属性是作为.NET ORM核心功能中的核心,在SqlSugar没有支持导航属性前,都说只是一个高级DbHelper, 经过3年的SqlSugar重构已经拥有了一套 非常成熟的导航属性体系...1.复杂的查询过滤 用户根据权限过滤,用户根据组织过滤 等这种多情况用SQL就相当复杂 ,例如:用SQL写一个多过滤就要联3个(主表 中间),如果 Where中用到多个或者嵌套那写...SQL简直就是恶梦 (一和一一也有提升,没有明显) //EF CORE查询 var Persons= dbContext.Person //需要定义DbSet才能点出来 .Where(it=...Core导航属性配置 EF public class Student { public int StudentId { get; set; } public string StudentName...原码下载: https://github.com/DotNetNext/SqlSugar 总结: .NET中无论是EF CORE还是SQLSUGAR 使用了导航属性都不再需要费心写繁琐的SQL语句,只需简单地调用导航属性

33840

ASP.NET MVC5高级编程——(3)MVC模式的模型

首先数据库中主外键的定义: 主键 外键 定义: 唯一标识一条记录,不能有重复的,不允许为空 的外键是另一的主键, 外键可以有重复的, 可以是空值 作用: 用来保证数据完整性 用来和其他建立联系用的...个数: 主键只能有一个 一个可以有多个外键 因为这个主外键属性对于理解后面的EF框架(ORM)很有帮助,所以这里我们讲一些!...新建的ASP.NET MVC5项目会自动包含实体框架(EF)的引用。...第二种解决方案:强类型模型,创建一个视图特定模型的对象,专辑信息、流派和艺术家信息传递给一个视图。...从客户端传送过来的form数据会通过DefaultModelBinder类自动创建Product类对象,form字段通过.NET的Reflection(反射)机制一一应到对象的同名属性中。

4.6K40

EntityFramework快速上手

EF有三种使用场景: 从数据库生成Class, 由实体类生成数据库结构, 通过数据库可视化设计器设计数据库,同时生成实体类。 O/RM是什么?...独立于数据库的设计。 存储模型 ︰ 存储模型是数据库设计模型,包括、 视图、 存储的过程和他们的关系和键。 映射 ︰ 映射包含有关如何概念模型映射到存储模型的信息。...Object Services(对象服务):是数据库的访问入口,负责数据具体化,从客户端实体数据到数据库记录以及从数据库记录和实体数据的转换。...ADO .Net Data Provider:使用标准的Ado.net与数据库通信 Entity Framework运行环境 EF5由两部分组成,EF api和 .net framework 4.0.../4.5,而EF6是独立的EntityFramework.dll,不依赖 .net Framework。

1.8K50

《Entity Framework 6 Recipes》翻译系列 (1) —–第一章 开始使用实体框架之历史和框架简述「建议收藏」

、Database First、拆分,实体拆分,TPT,TPH,TPC,CodeFirst和DDD的配合等等),就从本系列开始EF进行一个系统的学习吧,老鸟也可以从中了解不少的知识点。...由于书中的代码只贴出核心部分,如果你想运行示例代码,可以加入QQ群下载,因为太大,超过博客园的限制,所以这里提供不了下载。要说的就这么,下面就开始这一段学习过程吧。...第一章 开始使用实体框架   处理关系数据库时,我们依据由行和列组成的,它高度结构化且擅长处理记录集。...提供了重大的性能改进,并支持了枚举类型值函数,空间数据类型,存储过程的一系列改进,以及asp.net MVC框架的深度支持。   ...实体类型间的关联在设计器中表示为连接两者的一条直线。线的两端带有表示多重性的注解。图1-3中的关联是一个表示Employeet和Task之间一的关联。

1.3K20

.NET Core.NET5.NET6 开源项目汇总1:常用必备组件

- 基础核心包,包含了基础的模型定义和默认的设置,而且以下的引用包都包含了这个核心包。...本框架旨在为EF Core提供Sharding(即读写分离分库分)支持,不仅提供了一套强大的普通数据操作接口,并且降低了分难度,支持按时间自动分扩容,提供的操作接口简洁统一。...NLog是一个灵活和免费的日志平台,适用于各种.NET平台,包括.NET Standard。NLog使写入多个目标变得容易(数据库、文件、控制台)并动态更改日志记录配置。...log4net库是Apache log4j框架在Microsoft.NET平台的实现,是一个帮助程序员日志信息输出到各种目标(控制台、文件、数据库等)的工具。...这是通过常规的.NET类作为组件来实现的。

4K10

.net 温故知新:【10】.NET ORM框架EFCore使用入门之CodeFirs、DBFirst

从这篇ORM完成之后就将进入asp.net core的学习总结! EFCore Entity Framework Core (EF Core) 是适用于 .NET 的新式对象数据库映射器。...由于这是项目的第一次迁移,如果我们修改了模型后再Add-Migration生成的时候EFCore 会在添加列之前更新的模型与旧模型的快照进行比较。...基于该比较,EF Core 检测变化,并添加适当的迁移而不是再重新生成数据库。 最后运行命令Update-Database生成数据库和,数据库在我们配置的程序路径下。...生成的sqlite数据库如图,因为我们定义了Student、Course实体,所以会生成两个以及的字段,同时还会生成一个历史,用于记录我们每次迁移的记录。...一多关系配置和获取,上面示例中学生有哪些课程就是一,查询关联要用includ。 多个外键字段的配置。 一多关系。

2.5K30

在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?

一、EF存储过程参数赋值的版本策略 和传统的基于DataSet的ADO.NET类似,EF核心功能之一就是“状态追踪(State Tacking)”。...粗略地想想,EF这样设计也无可厚非:Insert存储过程用于添加一条全新的记录,自然应该采用当前值;而Delete存储过程用于删除一条现有的记录,删除操作的筛选条件自然应该使用原始值。...通过是使用T_CONTACT这张简单不过的,同样是采用逻辑删除。不过现在有这样的一个要求,对于条存储在的记录,我们需要记录最后修改者是谁。...然后Delete存储过程被执行,并且采用预先定义好的实体属性/参数的映射关系来存储过程的参数进行赋值。...在Entity Framework中使用存储过程(五):如何通过存储过程维护多关系?

1.7K100

一系列令人敬畏的.NET核心库,工具,框架和软件

加密 BCrypt.Net原始bcrypt包进行更新。 BCrypt.NET-Core – BCrypt.NET的 .NET核心端口,用于安全地存储密码。...monitor-table-change-with-sqltabledependency – 在记录更改时获取SQL Server通知。...Stripe – 用于stripe.com REST API的类型.NET客户端。 例外 Demystifier – 堆栈跟踪的高性能理解(使错误日志更高效)。...netDumbster – 用于测试的.Net假SMTP服务器。克隆流行的Dumbster。 PreMailer.Net样式移动到内联样式属性的C#库,以最大程度地兼容电子邮件客户端。...ShareX – 免费和开源程序,可让您捕获或记录屏幕的任何区域,只需按一下键即可共享。它还允许图像,文本或其他类型的文件上传到80多个支持的目的地,您可以从中选择。

18.3K30
领券