EF – 4.CRUD与事务
5.6.1 《Entity Framework数据更新概述》
首先介绍Entity Framework实现CRUD的基本方法,接着介绍了如何使用分部类增强和调整数据实体类的功能与行为特性,最后以“数据新增”为例,展示了Entity Framework是如何为“数据新增”操作生成SQL命令的。
5.6.2 《数据的修改与删除》
这一讲,介绍如何修改与删除数据库中一条记录。
5.6.3 《事务处理》
事务处理是数据库应用程序中非常重要的一个特性,Entity Framework在SaveChanges()时,默认启动了一个事务,在多数情况下,开发者不需要专门关注这件事。但在特定的场景下,可能需要对事务进行人工干预,在本讲视频中,介绍了如何手动创建事务实现“分阶段地保存数据”。
这一课时的内容,可以说是真正掌握Entity Framework,摸清它的脾气,让它乖乖地为您服务的关键。任何一个打算在实际开发中使用Entity Framework的程序员,都必须掌握本课时所介绍的各种编程技巧与相关知识。
5.6.1 《Entity Framework数据更新概述》 时长:9分31秒 难度:中
在本讲视频中,首先介绍Entity Framework实现CRUD的基本方法,接着介绍了如何使用分部类增强和调整数据实体类的功能与行为特性,最后以“数据新增”为例,展示了Entity Framework是如何为“数据新增”操作生成SQL命令的。


5.6.2 《数据的修改与删除》 时长:7分07秒 难度:易
这一讲,介绍如何修改与删除数据库中一条记录。

//新增方法
[TestMethod]
public void TestShowUPMS_UserAdd()
{
UPMS_User user = new UPMS_User { UserDescription = "bbbbbbbbbb", RealName = "tangsansan" };
context.UPMS_User.Add(user);
context.SaveChanges();
} //修改方法1.优化
[TestMethod]
public void TestShowUPMS_UserModify1()
{
UPMS_User user = new UPMS_User { UserDescription = "aaaaaaaa", RealName = "tangsansan", UserId = 39 };
DbEntityEntry<UPMS_User> entry = context.Entry<UPMS_User>(user);
entry.State = EntityState.Modified;
context.SaveChanges();
} //修改方法2.
[TestMethod]
public void TestShowUPMS_UserModify2()
{
//UPMS_User user = context.UPMS_User.First();
var users = (from c in context.UPMS_User orderby c.UserId descending select c).FirstOrDefault();
users.UserDescription = "tttttt";
context.SaveChanges();
}
5.6.3 《事务处理》 时长:8分45秒 难度:偏难
事务处理是数据库应用程序中非常重要的一个特性,Entity Framework在SaveChanges()时,默认启动了一个事务,在多数情况下,开发者不需要专门关注这件事。但在特定的场景下,可能需要对事务进行人工干预,在本讲视频中,介绍了如何手动创建事务实现“分阶段地保存数据”。

EF – 4.CRUD与事务的更多相关文章
- EF – 4.CRUD与事务
5.6.1 <Entity Framework数据更新概述> 首先介绍Entity Framework实现CRUD的基本方法,接着介绍了如何使用分部类增强和调整数据实体类的功能与行为特性 ...
- 使用EntityFramework6完成增删查改CRUD和事务
使用EntityFramework6完成增删查改和事务 上一节我们已经学习了如何使用EF连接MySQL数据库,并简单演示了一下如何使用EF6对数据库进行操作,这一节我来详细讲解一下. 使用EF对数据库 ...
- EF Core 三 、 EF Core CRUD
EF Core CRUD 上篇文章中,我们已经基本入门了EFCore,搭建了一个简单的EFCore项目,本文开始简单使用下EF,做增删改查的相关操作: 一.数据新增操作(C) public stati ...
- 第七节: EF的三种事务的应用场景和各自注意的问题(SaveChanges、DBContextTransaction、TransactionScope)
一. 什么是事务 我们通俗的理解事务就是一系列操作要么全部成功.要么全部失败(不可能存在部分成功,部分失败的情况). 举一个事务在我们日常生活中的经典例子:两张银行卡(甲.乙),甲向乙转钱,整个过程需 ...
- EF的CRUD
已经知道EF就是一个能够使得编程人员用面向对象的思想操作数据库的框架,那么在最初学习SQL的时候我们就知道对数据库的操作就是增删改查.万变不离其宗. EF也是操作数据库的当然也就是要对数据库实现增删改 ...
- EF入门-CRUD操作
一.EF数据查询假设我们已经定义好了context:private AccountContext db = new AccountContext(); 1.[基本查询] 查询所有var users = ...
- 4.2 EF的CRUD控制器代码
以下的例子以留言本作为依据. 1.添加 public ActionResult Create() { return View(); } // // POST: /Contact/Create [Htt ...
- 基于封装通用的EF CRUD 的操作
1. Entity Framework是Microsoft的ORM框架,随着 Entity Framework 不断的完善强化已经到达了EF 6.0+ 还是非常的完善的,目前使用的比例相对于其他OR ...
- 分享我们项目中基于EF事务机制的架构
写在前面: 1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库. 2. 本文中的单元测试都是正确通过的. 要理解EF的事务机制,首先要理解这2个类:TransactionSco ...
随机推荐
- 小米手机无法打开程序报错Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication的解决办法
打开studio的setting 然后 Preferences -> Build, Execution, Deployment -> Instant Run -> Enable In ...
- [BZOJ1999][codevs1167][Noip2007]Core树网的核
[BZOJ1999][codevs1167][Noip2007]Core树网的核 试题描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称T为树网(t ...
- 跟着百度学PHP[4]OOP面对对象编程-6-封装性private
所谓封装顾名思义,如同箱子般给封装起来.结合前面的来说就是对属性或者方法,封装后的方法或属性只能有类内部进行调用.外部调用不了. 封装性的好处: 1.信息隐藏 2.http://www.cnblogs ...
- Android 中的 Intent 简介
Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据. ------------------------------- ...
- linux shell脚本常用语句
linux shell 指令 诸如-d, -f, -e之类的判断表达式: 文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d ...
- 数据库多对多关联表(Python&MySQL)
Python Python对MySQL数据库操作使用的是sqlalchemy这个ORM框架 #一本书可以有多个作者,一个作者又可以出版多本书 from sqlalchemy import Table, ...
- Python之函数之路
1 集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 创建集合 a = {3, 5, 9, 9, ...
- Github GUI 托管代码教程
附录:克隆仓库到本地:git clone https://github.com/chzeze/WeiboHomeCrawl.git
- 2. Android系统启动流程
1.启动加载完内核 2.执行init进程 ----> 设备初始化工作 a1. 读取inic.rc a2. 启动Zygote进程 ----> 该进程是所有进程的孵 ...
- C++ 输出调试的一些技巧
主要利用了宏和stderr... #define enable_debug #ifdef enable_debug FILL some macros/functions here #else /// ...