在ef中,CUD都使用Datacontext.SaveChange()进行保存.

SavaChange方法在保存之前会自动调用DetectChanges方法检查DataContext中做了什么更改,以作出对应的数据库操作.

create 增

dbcontext.dbset.add(model),然后再调用datacontext.savechanged();

using (var context = new BookStore())
{
Author author = new Author()
{
FirstName = "Mark",
LastName = "Johny",
}; context.Authors.Add(author);
context.SaveChanges();
}

update 改

using (var context = new BookStore())
{
var author = context.Authors
.FirstOrDefault(); author.LastName = "Cuban";
context.SaveChanges();
}

delete 删

datacontext.dbset.remove(model); 再datacontext.savechangs();

如果model不在数据库中则从datacontext中删除,否则数据库和datacontext都会删除.

using (var context = new BookStore())
{
var author = context.Authors
.Where(a => a.AuthorId == )
.FirstOrDefault(); context.Authors.Remove(author);
context.SaveChanges();
}

1.基础CRUD的更多相关文章

  1. Spring boot(三)整合mybaties+thymeleaf实现基础crud

    工程结构: 首先在pom文件中引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  2. ZooKeeper基础CRUD操作

    ==============================Curator Java 客户端 CRUD 使用==============================Curator 是 Apache ...

  3. Mybatis入门篇之基础CRUD

    前言 作为一个资深后端码农天天都要和数据库打交道,最早使用的是 Hiberate,一个封装性极强的持久性框架.自从接触到 Mybatis 就被它的灵活性所折服了,可以自己写 SQL,虽然轻量级,但是麻 ...

  4. MySQL基础CRUD编程练习题的自我提升(1)

    基础知识: 1.数据库的连接 mysql -u -p -h -u 用户名 -p 密码 -h host主机 2:库级知识 2.1 显示数据库: show databases; 2.2 选择数据库: us ...

  5. MyBatis基础-CRUD

    一.mybatis  环境搭建步骤 第一步:创建 maven 工程第二步:导入坐标第三步:编写必要代码(实体类和持久层接口)第四步:编写 SqlMapConfig.xml第五步:编写映射配置文件第六步 ...

  6. MyBatis(二):基础CRUD

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出1便就懂!b站搜索狂神说即可 https://space.bilibili.com/95256449?spm_id_from=333.788 ...

  7. 分布式存储系统之Ceph集群RBD基础使用

    前文我们了解了Ceph集群cephx认证和授权相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16748149.html:今天我们来聊一聊ceph集群的 ...

  8. 使用 AngularJS 和 Electron 构建桌面应用

    GitHub 的 Electron 框架(以前叫做 Atom Shell)允许你使用 HTML, CSS 和 JavaScript 编写跨平台的桌面应用.它是io.js 运行时的衍生,专注于桌面应用而 ...

  9. Spring-data-jpa详解,全方位介绍。

    本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring ...

随机推荐

  1. hash索引

    hash算法 哈希表(hash table ,也叫散列表),是根据关键码值(key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个 ...

  2. python学习之路(12)

    迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). 在Python中,迭代是通过for ... in来完成的,而 ...

  3. auth 认证组件的补充

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...

  4. C++入门经典-例4.1-声明、定义和使用函数

    1:代码如下: // 4.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  5. 选题 Scrum立会报告+燃尽图 05

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8749 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...

  6. leetcode-easy-math-326. Power of Three

    mycode class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype: ...

  7. ajaxGird修改一条记录中的字段

    var rowData = ajaxgrid.getSelectedRow(); var quality = rowData["quality"]; var rowIndex = ...

  8. Git-Runoob:Git 服务器搭建

    ylbtech-Git-Runoob:Git 服务器搭建 1.返回顶部 1. Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看 ...

  9. nodejs之简单应用与运行

    1.nodejs第一个应用,入口函数为http.createServer() var http=require('http');//1.引入 http 模块 //2.用 http 模块创建服务 htt ...

  10. mybatis的xml文件中的CDATA的使用

    mybatis的xml文件中的CDATA的使用 <!--查询列表--> <select id="queryListPage" parameterType=&quo ...