广告
返回顶部
首页 > 资讯 > 精选 >Entity Framework主从表的增删改怎么实现
  • 744
分享到

Entity Framework主从表的增删改怎么实现

2023-07-02 09:07:44 744人浏览 薄情痞子
摘要

本篇内容介绍了“Entity Framework主从表的增删改怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、添加数据1

本篇内容介绍了“Entity Framework主从表的增删改怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、添加数据

1、在主表中添加从表数据

在景点的住宿集合(Lodgings)中增加一个度假区(Resort)

var dest = (from d in context.Destinations where d.Name == "Bali" select d).Single();var resort = new CodeFirst.Model.Resort{    Name = "Pete's Luxury Resort",};dest.Lodgings.Add(resort);context.SaveChanges();

2、添加主表的同时添加从表数据

添加一个带两个住宿的景点

var destination = new CodeFirst.Model.Destination{    Name = "AnHui HuangShan",    Lodgings = new List                    {                        new CodeFirst.Model.Lodging {Name="HuangShan Hotel"},                        new CodeFirst.Model.Lodging {Name="YingKeSong Hotel"}                    }};context.Destinations.Add(destination);context.SaveChanges();

3、添加从表的同时添加主表数据

添加一个带有景点信息度假村到住宿信息中。

var resort = new CodeFirst.Model.Resort{    Name = "Top Notch Resort and Spa",    Destination = new CodeFirst.Model.Destination    {        Name = "Stowe, Vermont",        Country = "USA"    }};using (var context = new CodeFirst.DataAccess.BreakAwayContext()){    context.Lodgings.Add(resort);    context.SaveChanges();}

二、修改关联

1、修改从表的外键

var hotel = (from l in context.Lodgings where l.Name == "YingKeSong Hotel" select l).Single();var reef = (from d in context.Destinations where d.Name == "Bali" select d).Single();hotel.Destination = reef;context.SaveChanges();

2、从表与主表脱离关系

ForeignKeys方式:

var davesDump = (from l in context.Lodgings where l.Name == "HuangShan Hotel" select l).Single();davesDump.DestinationID = null;//(ForeignKeys方式)context.SaveChanges();

Reference方式:

var davesDump = (from l in context.Lodgings where l.Name == "HuangShan Hotel" select l).Single();context.Entry(davesDump).Reference(l => l.Destination).Load();  //找主表数据davesDump.Destination = null;  //清空,(Reference方式)context.SaveChanges();

三、删除关联数据

1、删除主表的同时删除相关联的从表数据(级联删除)

如果数据库里设置是级联删除,则不显示加载从表数据。

var canyon = (from d in context.Destinations where d.Name == "AnHui HuangShan" select d).Single();context.Entry(canyon).Collection(d => d.Lodgings).Load();  //从表显示加载后,再删除主表数据context.Destinations.Remove(canyon);context.SaveChanges();

2、普通删除

删除主表数据,同时标注从表数据为删除状态(数据库关闭了级联删除的情况,可以手动去数据库的外键关系修改,也可以Fluent api配置关闭级联删除)

var canyon = (from d in context.Destinations where d.Name == "Grand Canyon" select d).Single();foreach (var lodging in canyon.Lodgings.ToList()){    context.Lodgings.Remove(lodging);   //先标记相关的从表数据为删除状态}context.Destinations.Remove(canyon);    //再标记主表数据为删除装填context.SaveChanges();   //执行上面的所有标记

“Entity Framework主从表的增删改怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Entity Framework主从表的增删改怎么实现

本文链接: https://www.lsjlt.com/news/340812.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Entity Framework主从表的增删改怎么实现
    本篇内容介绍了“Entity Framework主从表的增删改怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、添加数据1...
    99+
    2023-07-02
  • Entity Framework使用DBContext实现增删改查
    有一段时间没有更新博客了,赶上今天外面下雨,而且没人约球,打算把最近对Entity Framework DBContext使用的心得梳理一下,早些时候在网上简单查过,对于最新版本的E...
    99+
    2022-11-13
    Entity Framework DBContext 增删改查
  • Entity Framework根据实体的EntityState状态实现增删改查
    在上一篇文章中,我们讲解了使用EF实现简单的增删改查,在这篇文章中我们使用实体的EntityState状态来优化数据的增删改查。 一、修改数据 上篇文章中的修改数据的方法是EF官方推...
    99+
    2022-11-13
  • EntityFramework主从表的增删改
    目录一、添加数据1、在主表中添加从表数据2、添加主表的同时添加从表数据3、添加从表的同时添加主表数据二、修改关联1、修改从表的外键2、从表与主表脱离关系三、删除关联数据1、删除主表的...
    99+
    2022-11-13
  • Entity Framework中如何使用DataBase First模式实现增删改查
    本篇内容主要讲解“Entity Framework中如何使用DataBase First模式实现增删改查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Entity ...
    99+
    2023-06-29
  • Entity Framework使用DataBase First模式实现数据库的增删改查
    在上一篇文章中讲解了如何生成EF的DBFirst模式,接下来讲解如何使用DBFirst模式实现数据库数据的增删改查 一、新增数据 新增一个Student,代码如下: static v...
    99+
    2022-11-13
  • Java双向链表的增删改查怎么实现
    这篇文章主要介绍“Java双向链表的增删改查怎么实现”,在日常操作中,相信很多人在Java双向链表的增删改查怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java双向链表的增删改查怎么实现”的疑惑有所...
    99+
    2023-07-02
  • java实现双向链表的增删改
    双向链表:java实现双向链表的增删改,供大家参考,具体内容如下 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找 单向链表不能自我删除,需要靠辅助节点,而双向链表...
    99+
    2022-11-13
  • java实现单链表中的增删改
    本文实例为大家分享了java实现单链表中增删改的具体代码,供大家参考,具体内容如下 什么是链表 链表是有序的列表,但是它在内存中是存储如下 小结: 链表是以节点的方式来存储,是链式...
    99+
    2022-11-13
  • MongoDB怎么实现增删改查
    这篇“MongoDB怎么实现增删改查”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MongoDB怎么实现增删改查”文章吧。一...
    99+
    2023-06-30
  • C#抽象增删改怎么实现
    本篇内容主要讲解“C#抽象增删改怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#抽象增删改怎么实现”吧!现在业界火了一种ORM 框架,那就是Dapper,我也是Dapper的粉丝之一,...
    99+
    2023-06-17
  • 怎么实现JavaWeb用户的增删改查
    本篇内容介绍了“怎么实现JavaWeb用户的增删改查”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!准备工作后端技术前端技术角色维护-分页实现...
    99+
    2023-06-16
  • python字典的增删改查怎么实现
    在Python中,字典的增删改查可以通过以下方式实现:1. 增加字典项:- 使用键值对的形式直接赋值:`dict[key] = va...
    99+
    2023-10-11
    python
  • java怎么实现数组的增删改查
    本篇内容主要讲解“java怎么实现数组的增删改查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java怎么实现数组的增删改查”吧!目录一维数组数组的扩容数组的复制直接将数组赋值给新数组创建一个新...
    99+
    2023-06-20
  • javascript对象的增删改查怎么实现
    小编给大家分享一下javascript对象的增删改查怎么实现,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是对象?嘿!这还用问吗?对象不就是“你的女朋友” 嘛!,或许你以为我在胡说,但事实上确实就是。看完下面这个定义,...
    99+
    2023-06-29
  • Java实现顺序表的增删查改功能
    创建顺序表 在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和usedata为有效数据,构造方法里先申请可以存放10个数据的...
    99+
    2022-11-12
  • React+Antd 实现可增删改表格的示例
    目录Table/index.jsTable/model/index.jsTable/model/modules/base.jsTable/model/modules/editTabl...
    99+
    2022-11-12
  • Java如何实现单链表的增删改查
    一、新建学生节点类 Stu_Node节点包含: 学号:int num; 姓名:String name; 性别:String gender; 下一个节点:Stu_Node next;...
    99+
    2022-11-12
  • Vueelement商品列表的增删改功能实现
    目录介绍 基本信息上传主图商品信息vue富文本编辑器的配置最后提交数据介绍  整体和用户列表 类似 功能步骤有: 面包屑导航外部是大的卡片组件搜索商品 添加商品...
    99+
    2022-11-13
  • vue实现表单数据的增删改功能
    本文实例为大家分享了vue实现表单数据增删改功能的具体代码,供大家参考,具体内容如下 图示如下: <!DOCTYPE html> <html lang="en"...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作