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

EF与EF Core在保存相关实体上的比较

EF(Entity Framework)和EF Core(Entity Framework Core)是微软开发的两个.NET平台上的ORM(对象关系映射)框架。它们的主要功能是将数据库中的数据映射到应用程序中的对象,并提供了一套强大的API来进行数据库操作。

EF是Entity Framework的缩写,是.NET Framework上的ORM框架。它提供了一种简单的方式来操作数据库,开发人员可以使用面向对象的方式来进行数据库操作,而不需要编写复杂的SQL语句。EF支持多种数据库,包括SQL Server、MySQL、Oracle等,并且提供了丰富的功能,如数据查询、数据更新、事务处理等。

EF Core是Entity Framework Core的缩写,是.NET Core平台上的ORM框架。与EF相比,EF Core是一个轻量级的、跨平台的ORM框架,它在设计上更加灵活和可扩展。EF Core支持多种数据库,包括SQL Server、MySQL、SQLite等,并且提供了类似于EF的功能,如数据查询、数据更新、事务处理等。

在保存相关实体上,EF和EF Core有一些比较:

  1. 性能:EF Core相对于EF来说,性能更好。EF Core采用了更加轻量级的设计,减少了不必要的开销,提高了性能。
  2. 跨平台支持:EF Core支持跨平台开发,可以在Windows、Linux、Mac等多个操作系统上运行。而EF只能在Windows上运行。
  3. 数据库支持:EF Core支持的数据库更加丰富,包括SQL Server、MySQL、SQLite、PostgreSQL等。而EF主要支持SQL Server。
  4. LINQ支持:EF Core对LINQ(Language Integrated Query)的支持更加完善。LINQ是一种强大的查询语言,可以方便地进行数据查询和操作。
  5. 迁移支持:EF Core引入了数据库迁移的概念,可以方便地进行数据库结构的变更和迁移。而EF没有内置的迁移功能,需要使用第三方工具。

在实际应用中,EF和EF Core可以根据具体需求选择使用。如果需要跨平台支持或者对性能要求较高,可以选择EF Core。如果只在Windows平台上运行,并且对数据库支持较为简单,可以选择EF。

腾讯云提供了一系列与数据库相关的产品和服务,包括云数据库SQL Server、云数据库MySQL、云数据库PostgreSQL等。这些产品可以与EF和EF Core结合使用,提供稳定可靠的数据库服务。具体产品介绍和链接地址可以参考腾讯云官方网站:https://cloud.tencent.com/product。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

EF Core下利用Mysql进行数据存储并发访问下数据同步问题

查询5000基础加3000) 最终结果是,小刘银行卡金额8000块钱,刘嫂也拿到了5000块钱。 反思? 故事结束了,很多同学肯定会说,要真有这样银行不早就倒闭了?...确实,真是的银行不可能是这样来计算,可是我们同学设计程序时候,却经常是这样一个思路,先从数据库中取值,然后取到基础对该值进行修改。...通俗地讲,就是我们设计数据库时候,给实体添加一个Version属性,对实体进行修改前,比较实体现在Version和自己当年取出来Version是否一致,如果一致,对该实体修改,同时,对Version...所谓并发令牌,就是实体属性中添加一块令牌,当对数据执行修改操作时,系统会在Sql语句后加一个Where条件,筛选被标记成令牌字段是否取出来一致,如果不一致了,返回肯定是影响0行,那么此时,就会对抛出异常...然后依赖项中选择Nuget包管理器,安装  Pomelo.EntityFrameworkCore.MySql 改引用,该引用可以理解为MysqlEF Core驱动。

1.4K50

.NET 8 RC1 版本中 MAUI、ASP.NET CoreEF8 新特性

特定于平台修复:进行了修复以确保不同平台(包括iOS,Android,Windows和macOS)保持一致用户体验,解决了边框剪切,窗口故障和图像加载问题等问题。...ASP.NET Core 在这里,Blazor 是ASP.NET Core重心,Blazor 让 Web 开发人员使用 C# 而不是 JavaScript 又有了八个方面不同改进(其中一些 Microsoft...EF Core 8 此数据驱动框架包含在 NuGet 包中,该包拥有超过 809.70 亿次下载,EF Core是 .NET 现代ORM。它支持 LINQ 查询、更改跟踪、更新和架构迁移。...EF Core通过提供程序插件APISQL Server,Azure SQL Database,SQLite,Azure Cosmos DB,MySQL,PostgreSQL和其他数据库配合使用。...公告帖子列出了多达70个项目,并附有指向每个项目的更多信息链接。EF Core 8 中新增功能[13]中还提供了详细信息.

61460

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

前言 这几天一直研究EF Core官方文档,暂时没有发现什么比较EF6.x差距比较东西....具体区别请移步:比较EF CoreEF6.x 我们提供了我们认为重要但还没实施功能列表。...但是实现下面这些功能之前,虽然EF Core对于许多应用场景来说是一个有效选择(特别是.NET Core平台上,因为EF6.x不起作用.....其中一部分已经预览1完成了 存储过程映射,允许EF使用存储过程来保存对数据库更改(FromSql已经提供了对使用存储过程进行查询良好支持)。...ETag式并发令牌支持提供了统一编码模式,用于管理模型配置无关并发性。 贪婪加载,允许查询实体时始终检索默认相关数据集。 过滤加载,允许加载相关实体一个子集。

3K90

【ASP.NET Core 基础知识】--数据库连接--使用Entity Framework Core进行数据库访问

更高性能: EF Core 设计更加高效,能够提供更好性能,特别是执行大量数据操作时。...跨平台支持: EF Core 是 .NET Core 一部分,因此可以多种操作系统运行,而 EF 主要针对 Windows 平台。...4.2 事务管理 Entity Framework CoreEF Core)中,事务管理允许开发者对一组相关数据库操作进行原子性处理,这意味着这些操作要么全部成功,要么全部回滚到最初状态。...此外,EF Core 支持保存点(Savepoint),这是一种事务中创建一个可回滚子事务点机制。如果操作失败,你可以回滚到最近创建保存点,而不是回滚整个事务。...预加载相关实体查询时,通过使用Include或Explicit Loading来预加载相关实体,减少多次查询数据库需要。

16000

Entity Framework Core 简介

下面列举一下 EF Core 所支持项目类型: 运行在 .NET Core 平台上 Asp.Net Core MVC/Web Api、Console、etc ; 运行在 .NET 4.5+ 版本...零、EF Core 开发方法 EF Core 只支持两种开发方式 Code First 和 Database First, EF Core 2.0 开始不支持数据库模型可视化设计器以及数据库设计导航... Code First 方法中, EF Core API 使用基于 domain classes 中提供约定和配置迁移来创建数据库和表,这种方法 DDD 中很有用。...一、EF Core EF6 这里列一下 EF Core 目前所具有的 EF6 功能 DbContext ; DbSet ; Data Model ; 使用Linq-to-Entities查询 ;...以下是 EF Core 目前所不具有的 EF6 功能 EDMX /模型图形可视化 ; 实体数据模型向导 ; ObjectContext API ; 使用Entity SQL查询 ; 自动迁移 ; TPT

1.9K10

02-EF Core笔记之保存数据

EF Core通过ChangeTracker跟踪需要写入数据库更改,当需要保存数据时,调用DbContextSaveChanges方法完成保存。...Core中,除了独立模型外,还有模型关联数据,这部分数据通过独立模型添加到模型中,SaveChanges时将会持久化到数据库中。...EF Core对于提供了更细粒度管理,它允许我们定义删除行为,来控制依赖关系被移除时,如何处理关系实体。...工作原理:每当在 SaveChanges 期间执行更新或删除操作时,会将数据库并发令牌值通过 EF Core 读取原始值进行比较。如果一致则可以完成操作,如果不一致,则终止事务。...关系数据库EF Core 会对任何 UPDATE 或 DELETE 语句 WHERE 子句中并发令牌值进行检查。 执行这些语句后,EF Core 会读取受影响行数。

1.7K40

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

前言: 最近有很多同学问我.NET方面有哪些好用ORM框架,我觉得这方面的介绍网上应该会介绍比较全面文章,于是我想搜一篇全面的介绍文章发给他们结果我发现网上说来说去基本就是那几个,于是就有了这篇文章...它解决了对象和关系型数据库之间数据交互问题,ORM作用是关系型数据库和业务实体对象之间作一个映射,这样我们具体操作业务对象时候,就不需要再去和复杂SQL语句打交道,只需简单操作对象属性和方法...以下是一些比较好用且优秀.NET-ORM框架汇总,排名不分先后可供大家参考学习(假如您有更好.NET相关ORM推荐请在文末留言,谢谢)。...官方文档教程:https://docs.microsoft.com/zh-cn/ef/ GitHub地址:https://github.com/dotnet/efcore 以下是EF/EF Core相关拓展程序包...EntityFramework.VersionedProperties -  将对象里每次变更历史自动保存到一个特定属性里。审计或者做历史版本时比较适用。

5.8K11

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

前言: 最近有很多同学问我.NET方面有哪些好用ORM框架,我觉得这方面的介绍网上应该会介绍比较全面文章,于是我想搜一篇全面的介绍文章发给他们结果我发现网上说来说去基本就是那几个,于是就有了这篇文章...它解决了对象和关系型数据库之间数据交互问题,ORM作用是关系型数据库和业务实体对象之间作一个映射,这样我们具体操作业务对象时候,就不需要再去和复杂SQL语句打交道,只需简单操作对象属性和方法...以下是一些比较好用且优秀.NET-ORM框架汇总,排名不分先后可供大家参考学习(假如您有更好.NET相关ORM推荐请在文末留言,谢谢)。...官方文档教程:https://docs.microsoft.com/zh-cn/ef/ GitHub地址:https://github.com/dotnet/efcore 以下是EF/EF Core相关拓展程序包...EntityFramework.VersionedProperties -  将对象里每次变更历史自动保存到一个特定属性里。审计或者做历史版本时比较适用。

3.8K20

EF Core 入门

0.前言 一章简单介绍了一下ORM框架,并手写了一个类似ORM工具类。这一章将介绍一个C#世界里大名鼎鼎ORM框架——Entity FrameworkCore版。...EF可以不使用任何配置前提下,自动解析类表之间映射(具体映射逻辑与我们手写ORM工具类一致或相近)。 自动跟踪更改。...直接使用通过EF获取元素时,EF会自动跟踪哪些字段发生了变化,当手动调用保存时候,EF就会把数据回传给数据库。...可以延迟加载需要数据,外键引用属性、查询结果等 丰富映射关系,支持一对一,一对多,多对多,甚至继承、单表多实例等 可以使用Linq 进行查询 非Core可以通过数据库表生成实体类,两种都可以通过实体类生成表...这里简单介绍一下选择Core原因,微软这几年一直主推跨平台战略。

2.3K10

01-EF Core笔记之创建模型

数据标注方式比较简单,类或字段添加特性标注即可,对实体类型有一定入侵。...,而在EF Core中模型中为该实体类型定义属性,这些类型只能通过变更跟踪器进行维护。...在数据库中,数据表之间关系可以分为一对一、一对多、多对多三种,实体之间同样有这三种关系,但是EF Core仅支持一对一、一对多关系,如果要实现多对多关系,则需要通过关系实体进行关联。...):基类和子类不在同一个表中,子类中包含基类所有字段,目前EF Core不支持该模式 EF Core仅支持TPH模式,基类和子类数据将存储同一个表中。...实体构造函数 EF Core支持实体具有有参构造函数,默认情况下,EF Core使用无参构造函数来实例化实体对象,如果发现实体类型具有有参构造函数,则优先使用有参构造函数。

3K20

ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单CRUD操作

前言:   本章主要通过一个完整示例讲解ASP.NET Core MVC+EF Core对MySQL数据库进行简单CRUD操作,希望能够为刚入门.NET Core小伙伴们提供一个完整参考实例。...二、添加EF Core NuGet包:   若要在项目中使用EF Core操作MySQL数据库,需要安装相应数据库驱动包。...三、创建对应数据库表实体模型:   注意该篇博客使用是手动模型优先方式进行数据库表字段模型属性映射,当然如果大家觉得这样子比较麻烦的话可以真正意义模型优先,直接创建模型program.cs...定义 DbSet 属性代码之后,添加下面代码,对DbContext指定单数表名来覆盖默认表名。...八、 ASP.NET Core MVC 和 EF Core实现MySQL CRUD功能: 注意在这里主要展示EF Core数据库操作部分代码,详细代码可下载实例源码查看。

2.7K10

EntityFramework Core 学习扫盲

写在前面 本篇文章虽说是入门学习,但是也不会循规蹈矩地把EF1.0版本一直到现在即将到来EF Core 2.0版本相关所有历史和细节完完整整还原出来。...虽然我们目前还没有添加任何约束,但是EF Core会自动地根据Id/XXId命名方式生成自增主键,而且如果没有实体增加[Table]Attribute的话,表命名也是根据属性命名而定。...主键 默认情况下,EF CORE会将实体中命名为Id或者[TypeName]Id属性映射为数据库表中主键。当然有些开发者不喜欢将主键命名为Id,EF CORE也提供了两种方式进行主键相关设置。...Fluent Api中,有两种方法可以指定备用键,一种是当开发者将实体属性作为另一个实体外键目标,另一种是手动指定。EF CORE默认约束是前者。...EF COREData Annotations和Fluent Api形式为开发者分别提供了三种方法。

9.5K90

DDD实战进阶第一波(五):开发一般业务大健康行业直销系统(实现产品上下文领域层)

本篇文章主要讲产品上下文中领域层主要实现,先简单讲下业务方面的需求:产品SPU产品SKU,产品SPU主要是产品名字和相关描述, 产品SKU包括产品SPU多个规格,每个规格有不同价格PV值。...产品上下文主要实现产品架功能,为了实现架功能,我们首先要实现产品上下文领域POCO模型领域逻辑, 我们将产品POCO模型领域逻辑建立到一个叫Product.Domain项目中。...,ProductSPU包含了一个ProductSKU集合(也就是引用),这就代表它们同属一个聚合,具体使用EF Core做 持久化时,会作为一个事务统一持久化。...领域对象除了包含自身属性,也应该包括自身业务逻辑,产品功能比较简单,业务逻辑也比较简单,主要就是如何生成整个领域对象,以及聚合根实体业务标识符Code生成规则。...Product.Domain除了要实现领域逻辑之外,还要定义ProductSPU仓储接口、通过EF Core定义产品上下文数据库上下文之间映射关系。

1.1K50

.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记

2.4.6 EF Core -- 更新 状态 自动变更检测 不查询删除和更新 并发 状态 Entity State Property State Entity State Added 添加 Unchanged...,只在数据库更新操作提交时候才对数据作冲突检测(推荐) 悲观处理:根据命名即对数据库进行操作更新时,对操作持悲观保守态度,认为产生数据冲突可能性很大,需要先对请求数据加锁再进行相关操作 Entity...,都会产生最新版本号,如果更新时候查询版本号之前版本号不一致,就会报错 UpdateAsync 方法中查询和更新中间如果数据库行版本号发生了修改,就会报错 ProjectController...Core -- 迁移 生成 SQL 脚本 从空白开始生成sql脚本 dotnet ef migrations script 生成指定版本到最新版本sql dotnet ef migrations...EF Core -- 其他 database-first dotnet ef dbcontext scaffold "server=172.0.0.1;port=7306;user=root;password

59220

.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记

2.4.6 EF Core -- 更新 状态 自动变更检测 不查询删除和更新 并发 状态 Entity State Property State Entity State Added 添加 Unchanged...,只在数据库更新操作提交时候才对数据作冲突检测(推荐) 悲观处理:根据命名即对数据库进行操作更新时,对操作持悲观保守态度,认为产生数据冲突可能性很大,需要先对请求数据加锁再进行相关操作 Entity...,都会产生最新版本号,如果更新时候查询版本号之前版本号不一致,就会报错 UpdateAsync 方法中查询和更新中间如果数据库行版本号发生了修改,就会报错 ProjectController...Core -- 迁移 生成 SQL 脚本 从空白开始生成sql脚本 dotnet ef migrations script 生成指定版本到最新版本sql dotnet ef migrations...EF Core -- 其他 database-first dotnet ef dbcontext scaffold "server=172.0.0.1;port=7306;user=root;password

53311

C# 数据操作系列 - 6 EF Core 配置映射关系

前言 《C# 数据操作系列 - 5. EF Core 入门》篇中,我们简单通过两个类演示了一下EF增删改查等功能。细心小伙伴可能看了生成DDL SQL 语句,在里面发现了些端倪。...EF一旦类里检索到了导航属性,就会去寻找对应外键。EF会认为 属性名+Id或者类名+Id 可能是外键属性,如果找到名称一致且类型导航属性目标类主键类型一致,则认为是外键。...[InverseProperty("Author")] 用在集合类型属性,表示该集合属性是源类哪一个导航属性相关。...var property = builder.Property(t => t.Name); 获取一个属性Name相关PropertyBuilder实例,通过这个实例可以配置属性数据库列关系。...总结 在这一篇领着大家看了一下EF Core对于映射关系这一部分内容,我留下了外键相关FluentAPI介绍,我打算在下一篇介绍。因为这部分内容比较麻烦,而且使用率也相当高。

2.6K21

UnitOfWork知多少

从代码中我们可以看出仅做了一次保存,新增加User、Customer、Address对象都成功持久化到了内存数据库中。从而证明EF Core是实现了Uow模式。...但很显然应用程序基础设施层高度耦合,那如何解耦呢?继续往下看。 4. DDD中UOW 那既然EF Core已经实现了Uow模式,我们还有必要自行实现一套Uow模式吗?...就是整个调用链需要注入同类型对象,使用是同一个类型实例。 4.7....EFEF Core本身已经实现了Uow模式,所以实现时,我们应避免不必要抽象来降低系统复杂度。 最后,重申一下: Uow模式是用来管理仓储处理事务,仓储用来解耦(领域层基础设施层)。...最后附上使用.Net CoreEF Core基于DDD分层思想实现源码: GitHub--UnitOfWork

2.3K81

张高兴 Entity Framework Core 即学即用:(一)创建第一个 EF Core 应用

因此项目中使用 EF Core 不一定是最优,但一定不会错。 《张高兴 Entity Framework Core 即学即用》系列博客将会从实践角度去介绍 EF Core。...此处并没有否认 SQL Server 是一款优秀数据库,并且 EF 很多特性 SQL Server 上表现更好,可以说 SQL Server 是 EF Core 最佳实践。...EF Core 对 PostgreSQL 版本没有要求,但后续博客介绍编写实体类生成工具时要求 12 及以上版本。...Database First Code First 和 Database First 算是 EF比较有特色功能。...试着编写剩下实体类; 2. 比较一下 Database First 生成实体类和数据库上下文,手工编写有何不同; 3.

2.4K10
领券