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

02-EF Core笔记之保存数据

级联删除 级联删除是数据库的概念,意思是当主体被删除时,所有依赖该主体的项(通过外键关联)也会被自动删除。...EF Core对于提供了更细粒度的管理,它允许我们定义删除行为,来控制依赖关系被移除时,如何处理关系的子实体。...需要注意的是,EF Core删除行为仅对已加载的数据生效,如果关系未加载到内存中,则超出了EF Core的管控范围。 事务 事务允许以原子方式处理多个数据库操作。...并发控制指的是用于发生并发更改时确保数据一致性的特定机制。 EF Core采用乐观并发控制来解决并发冲突问题。...关系数据库上,EF Core 会对任何 UPDATE 或 DELETE 语句的 WHERE 子句中的并发令牌值进行检查。 执行这些语句后,EF Core 会读取受影响的行数。

1.7K40

EF Core的增删改查

0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置。 这一篇,带大家分享一下,在工作中需要的EF Core的用法。...初始化 实际开发中,一般都是先设计好数据表再进行开发,所以很少用到EF Core的数据迁移功能。所以EF Core的初始化,一般也指的是EF Core上下文初始化。...而删除,如果在配置导航属性时,没有设置级联删除删除当前元素,如果另一端的外键是可空类型的,并不会删除导航属性另一端的元素只会设置外键指向为NULL,如果另一端外键是不可空的,那么就会同时删除。...也就是说,如果你从EF Core的上下文获取了一个实体对象,这个对象的某些值进行了修改。这时候EF Core其实已经记录了这个对象的修改。...所以,为了高效的查询,执行查询的时候,最好使用简单的查询条件。 4. 后续 EF Core整体使用已经介绍完了,当然照例是普通工程级的内容。下一篇给大家介绍一下EF Core剩下一些边角料,嗯。

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

ASP.NET MVC5+EF6+EasyUI 后台管理系统(90)-EF 扩展操作

上一篇讲了EF直接执行SQL与存储过程的用 法 这次我们来看 EntityFramework-Plus(免费开源) 库的用法相比其他扩展库,这个更加新并且用法更加简单 这是一个Entity Framework...进行扩展的类库.支持EF EF5, EF6, EF Core,来弥补EF目前的短板 代码下载地址 支持功能: 批量删除 批量更新 Linq表达式 从缓存查询 延迟加载 过滤查询 组合查询功能 1.从NUGET...当然你要选择你对应的版本,并且同时你也安装了对应版本的EF版本(选择EF6的扩展,那么应该也对应现有的EF6)  2.操作(批量删除) 安装nuget包之后我们会发现我们平时惯用的linq表达式多了一些智能提示...(DBContainer ctx = new DBContainer()) { // EF Core 的写法 var options = new MemoryCacheEntryOptions...,并不是物理删除 这时候让所有查询都是查询IsDel为假的条件数据,而不用每一个查询语句都需要去加 似乎EntityFramework-Plus不仅仅能做的如此,他还有很多强大的功能,其他形式的查询

92700

如何处理EF Core的多多关系?

多关系不像其他关系那么简单,在这篇文章中,将向您展示如何创建多多关系以及如何在 EF Core 中使用它们。 模型 多多的简单而实用的例子可能是某种数字电子商务商店。...本文发表时,EF Core 无法处理这种情况。...看起来EF Core不知道如何处理这种关系,当您尝试添加迁移时,您会得到以下结果: Unable to determine the relationship represented by navigation...从多多中删除 删除是指删除购物车Cart和商品Item之间的关系CartItem。...以下示例中,我们不会删除购物车Cart或商品Item,只会删除购物车Cart和商品Item之间的关系CartItem。 让我们从购物车Cart中删除单个产品Item开始。

2.9K20

记一次JPA级联问题&CascadeType详解

遇到的问题 首先在用springboot-jpa写一个多多demo,进行插入数据的时候遇到了如下的问题: detached entity passed to persist 大概的意思是该数据插入的时候...这个问题搞了很久,网上的说法也是千奇百怪,后来突然恍然一悟,为什么会要插入数据插不进去,可能会发生的操作是什么,突然就想明白,是做了多多操作,jpa的多多操作的特点就是需要做级联,而级联的时候就可能系统认为是插入数据...JPA多级联的demo 级联代码如下: User.java package cn.kt.securitytest2.domin; /** * Created by tao....CascadeType.REMOVE 级联删除操作:删除当前实体时,与它有映射关系的实体也会跟着被删除。 3....CascadeType.DETACH 级联脱管/游离操作:如果你要删除一个实体,但是它有外键无法删除,你就需要这个级联权限了。它会撤销所有相关的外键关联。 4.

1.6K10

【asp.net core 系列】8 实战之 利用 EF Core 完成数据操作层的实现

EF Core 批量加载模型 通常情况下,使用ORM的时候,我们不希望过度的使用特性来标注实体类。因为如果后期需要变更ORM或者出现其他变动的时候,使用特性来标注实体类的话,会导致迁移变得复杂。...EF Core的配置类我们《C# 数据访问系列》中关于EF的文章中介绍过,这里就不做过多介绍了(没来得及看的小伙伴们不着急,后续会有一个简单版的介绍)。...这是个人习惯,实际上并没有其他影响。主要是为了实现类隐藏具体的EF 上下文实现类。...,预留了几个方法没有实现,因为这几个方法使用EF Core自身可以实现,但实现会比较麻烦,所以这里借助一个EF Core的插件: dotnet add package Z.EntityFramework.Plus.EFCore...后续.net core高级篇中会有介绍。 4. 总结 到目前为止,看起来我们已经成功实现了利用EF Core为我们达成 数据操作和查询的目的。

1.6K40

java之hibernate之 cascade和inverse

1.Cascade是级联动作,many_to_one中如果使用cascade可以级联操作关联对象,如下代码可以级联保存Category对象。...Cascade默认值是none,不进行级联动作; Cascade可以为delete, many_to_one中cascade不会设置为delete,因为可能会造成异常,除非是基于外键的一一。...(即如果多的一端未保存,一的一端使用级联保存时,会多出n条更新语句,效率较低;所以这种情况下,推荐多端使用级联,而不推荐一端使用) 如果在一端cascade="delete",那么删除一端数据时...,会级联将多端的所有数据删除。...多的一端没有inverse, 因为多的一端默认可以维护关系。 注意:级联和 inverse 都是通过关联对象来完成的,如果没有设置关联对象,这两者均不起作用

56120

Entity Framework Core 2.0 入门

该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle...老版本到ef里, migration历史表里面还保存着当时到迁移的快照, 创建迁移的时候还需要与数据库打交道. 这就是上面提到的如果团队使用ef和源码管理的话, 就会遇到这个非常令人头疼的问题....解决方案里再建立一个asp.net core mvc项目: mkdir LearnEf.Web && cd LearnEf.Web dotnet new mvc 解决方案里添加该项目: dotnet.../LearnEf.Data 然后这两个迁移文件就删掉了: 多多关系和一一关系: 这部分的官方文档在这: https://docs.microsoft.com/en-us/ef/core/modeling.../relationships 对于多多关系, efcore需要使用一个中间表, 想基本ef使用者都知道这个了, 就直接贴代码吧.

3.1K80

Entity Framework Core 2.0 入门

该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle...老版本到ef里, migration历史表里面还保存着当时到迁移的快照, 创建迁移的时候还需要与数据库打交道. 这就是上面提到的如果团队使用ef和源码管理的话, 就会遇到这个非常令人头疼的问题....解决方案里再建立一个asp.net core mvc项目: mkdir LearnEf.Web && cd LearnEf.Web dotnet new mvc 解决方案里添加该项目: dotnet.../LearnEf.Data 然后这两个迁移文件就删掉了: 多多关系和一一关系: 这部分的官方文档在这: https://docs.microsoft.com/en-us/ef/core/modeling.../relationships 对于多多关系, efcore需要使用一个中间表, 想基本ef使用者都知道这个了, 就直接贴代码吧.

3.5K140

从ASP.NET Core2.2到3.0你可能会遇到这些问题

但是阅读官方说明的时候,总感觉翻译的不是很准确,读起来很拗口,所以这里是自己的理解官方文档的一个补充。...作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10661161.html 遇到的问题 ASP.NET Core2.0时代,若要为项目添加 EF Core...但是阅读官方说明的时候,总感觉翻译的不是很准确,读起来很拗口,所以这里是自己的理解官方文档的一个补充。...其中许多之前都属于Microsoft.AspNetCore.App并且不需要单独引用的包,如上面遇到的问题,关于SQL Server的EF相关的包。...Json.NET 支持 作为提高 ASP.NET Core 共享的框架工作的一部分, Json.NET已从 ASP.NET Core 共享框架中删除

1.4K20

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

前言: 最近有很多同学问我.NET方面有哪些好用的ORM框架,觉得这方面的介绍网上应该会介绍的比较全面文章,于是想搜一篇全面的介绍文章发给他们结果发现网上说来说去基本上就是那几个,于是就有了这篇文章...EF/EF Core Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET 的现代对象数据库映射器...EntityFramework-Plus - EF的增强工具集,包括过滤器,审核,缓存,查询,批删除,批更新等。...LINQKit - LINQKit是LINQSQL和Entity Framework的免费扩展集。 Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。...ShardingCore - EF Core分表分库读写分离的扩展。

5.8K11

UnitOfWork知多少

从而证明EF Core是实现了Uow模式的。但很显然应用程序与基础设施层高度耦合,那如何解耦呢?继续往下看。 4....实现UOW 通过第3节的说明我们已经知道,EF Core已经实现了UOW模式。而为了确保领域层透明的进行持久化,我们其进行了更高一层的抽象,实现了仓储模式。...但这似乎引入了另外一个问题,因为仓储是管理单一聚合的,每次做增删改时都显式的提交了更改(调用了SaveChanges),处理多个聚合时,就无法利用DbContext进行批量提交了。那该如何是好?...EFEF Core本身已经实现了Uow模式,所以实现时,我们应避免不必要的抽象来降低系统的复杂度。 最后,重申一下: Uow模式是用来管理仓储处理事务的,仓储用来解耦的(领域层与基础设施层)。...最后附上使用.Net CoreEF Core基于DDD分层思想实现的源码: GitHub--UnitOfWork

2.3K81

MySQL从删库到跑路_高级(一)——数据完整性

MySQL不支持Check约束,虽然可以列上添加check约束,但不起作用。...alter table score modify column score int; 3、检查check check关键字,插入新行或者更改已有行时才起作用,作用是阻止不满足条件的值进入该列,null...TABLEscoreADD CONSTRAINTscore_fk2FOREIGN KEY (sid) REFERENCESstudent(sid); 5、验证级联动作删除和更新 score表创建的参照完整性...,删除动作和更新动作的参照动作选择了cascade(级联操作),当学生表的sid更新时,分数表score的相应的sid也会更新,当学生被删除,分数表对应的sid的记录也会自动删除。...2的学生 delete from student where sid=2 可以看到成绩表,该学生的成绩已经级联删除 select * from score 6、验证级联动作No Aaction 级联动作设置为

1.9K20

张高兴的 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 及以上的版本。...对于不熟悉数据库的开发者来说,Code First 似乎非常方便,不需要掌握数据库的知识也可以使用数据库进行开发。...设置导航属性之前,首先需要理清楚医院和医生存在着怎样的数量关系,医生是医院的附属,一家医院下面会有多名医生,因此医院和医生之间是一多的关系。为了方便理解,下面只保留主键、外键和导航属性。

2.4K10

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

前言: 最近有很多同学问我.NET方面有哪些好用的ORM框架,觉得这方面的介绍网上应该会介绍的比较全面文章,于是想搜一篇全面的介绍文章发给他们结果发现网上说来说去基本上就是那几个,于是就有了这篇文章...EF/EF Core Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET...EntityFramework-Plus - EF的增强工具集,包括过滤器,审核,缓存,查询,批删除,批更新等。...LINQKit - LINQKit是LINQSQL和Entity Framework的免费扩展集。 Pomelo.EntityFrameworkCore.MySql - mysql的EF驱动程序。...ShardingCore - EF Core分表分库读写分离的扩展。

3.8K20

ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

一、前言 1、本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity 访问MySQL...数据库 ASP.NET Core MVC 使用 EF Core + 原生SQL访问MySql数据库 EF Core + MySQL数据库插入数据后获取自增列的值 Entity Framework Core...Core + MySQL 前置准备 EF Core 全称:Entity Framework Core,为微软为 .NET Core平台开发的ORM框架。...对应是 .NET Framework平台的 Entity Framework(EF),无论是EF还是EF Core都可以说是 .NET 平台开发效率最高的ORM框架。...1、引入 EF Core + MySQL Provider EF Core已经集成 ASP.NET Core 中,但默认并不支持MySQL,如果需要连接MySQL,需要添加MySQL相关的Provider

2.1K21
领券