关于EF中ApplyCurrentValues和ApplyOriginalValues区别
关于EF中ApplyCurrentValues和ApplyOriginalValues区别:两者都是编辑数据时使用。
//
// 摘要:
// 将 System.Data.Objects.ObjectStateEntry 的 System.Data.Objects.ObjectStateEntry.CurrentValues
// 属性设置为与所提供对象的属性值相匹配。
//
// 参数:
// currentEntity:
// 具有要应用于原始对象的属性更新的已分离对象。
//
// 返回结果:
// 已更新的对象。
public TEntity ApplyCurrentValues(TEntity currentEntity);
参数currentEntity的取值方式有两种
(1)从内存中查出来的对象,编辑你需要编辑的字段,然后传入。
var user = db.Users.Where(m => m.ID== ID).FirstOrDefault();
user.Age = 10;
user.Sex="M";
db.CreateObjectSet<Users>().ApplyCurrentValues(user);
db.SaveChanges() ;
(2)用new 关键字创建的新对象,此处注意,创建的对象必需满足数据表约束,然后传入。
db.CreateObjectSet<Users>().ApplyCurrentValues(new Users(){
ID = ID/*注意:此处的ID必需是数据库中存在的*/,
Age=10,
Sex="M"
});
db.SaveChanges() ;
//
// 摘要:
// 将 System.Data.Objects.ObjectStateEntry 的 System.Data.Objects.ObjectStateEntry.OriginalValues
// 属性设置为与所提供对象的属性值相匹配。
//
// 参数:
// originalEntity:
// 具有要应用于原始对象的属性更新的已分离对象。
//
// 返回结果:
// 已更新的对象。
public TEntity ApplyOriginalValues(TEntity originalEntity);
参数originalEntity的取值方式只有一种
(1)从内存中查出来的对象,编辑你需要编辑的字段,然后传入。
var user = db.Users.Where(m => m.ID== ID).FirstOrDefault();
user.Age = 10;
user.Sex="M";
db.CreateObjectSet<Users>().ApplyCurrentValues(user);
db.SaveChanges() ;
转载于:https://www.cnblogs.com/yanglongv/p/3913158.html
关于EF中ApplyCurrentValues和ApplyOriginalValues区别相关推荐
- JS中同步和异步的区别
JS中同步和异步的区别 js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推.如果一个任务耗 ...
- mybatis与php,浅谈mybatis中的#和$的区别
浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- JAVA 中equals()与==的区别
原文地址:http://www.chineselinuxuniversity.net/articles/29594.shtml 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存 ...
- python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...
1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...
- java中Array和ArrayList区别 可以将 ArrayList想象成一种会自动扩增容量的Array
java中Array和ArrayList区别 1)精辟阐述: 可以将 ArrayList想象成一种"会自动扩增容量的Array https://blog.csdn.net/ywjy10280 ...
- SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别
原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别 SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制 ...
- android r类 作用,Android 主项目和 Module 中 R 类的区别
Android 主项目和 Module 中 R 类的区别 我们知道 Android 项目中会通过自动生成一个 R.java 类的方式来保存项目中所有资源文件的标识在主项目中生成的 R.java 中的资 ...
- 【mybatis】mybatis中 的# 和 $的区别
mybatis中 的# 和 $的区别 参考地址:https://www.cnblogs.com/sxdcgaq8080/p/10869144.html 转载于:https://www.cnblogs. ...
最新文章
- C# 正则表达式过滤危险HTML
- python实现肯德基店铺查询
- 郑州升达经贸管理学院计算机专业学费,郑州升达经贸管理学院学费
- docker无法连接mysql镜像_关于Docker官方CentOS镜像无法启动mysqld的总结
- Java 8 八年不倒、IntelliJ IDEA 力压 Eclipse,2022 年 Java 开发者都在用什么?
- 3.1 RNN 循环神经网络 概述(下篇)
- 2016 Multi-University Training Contest 2
- 小米与乐视的竞争分析
- STM32F429与CC2530 ZigBee模块通信
- 用户增长——AARRR模型
- 小程序页面简单功能模块化之取整
- 不可不知的量化因子模型选股策略
- 云影数码工作室-创业计划书
- 【清华集训2014】【BZOJ3812】主旋律
- 10G光模块系列:10G 80公里(KM)光模块有哪些-易飞扬
- Ubuntu 16.10 禁用 Guest 访客模式
- 技术|Android安装包极限优化
- asp毕业设计——基于asp+sqlserver的工厂设备管理系统设计与实现(毕业论文+程序源码)——工厂设备管理系统
- 使用向日葵、TeamViewer、todesk 等远程访问软件,腾讯桌面整理、安卓模拟器或模拟器内软件打不开、浏览器某页面、视频播放器,我们可能会遇到白屏、黑屏、无法点击等问题。
- 职场人生:一个7年老员工的离职总结:如何打造一个最强大的“自我”
热门文章
- linux lab命令,Linux lab 命令
- ajax异步提交 java_jquery ajax异步提交表单数据的方法
- linux子系统使用rstudio,linux 下安装Rstudio
- mysql plsql 循环_PL/SQL for...loop循环语句
- 1命名规则 sentinel_Spring Cloud Alibaba 整合 Sentinel 流控
- 用计算机计算成品率计算公式,计算机专业英语+单词+部分习题.doc
- 镜像处理坐标 android,Android应用开发之Android重写ImageView实现图片镜像效果的代码教程...
- Paper1:HoPE: Horizontal Plane Extractor for Cluttered
- LabVIEW设计自定义滚动条
- autoware中lgsvl Simulator安装与使用:LGsvl Simulator 2021.2.1版(九)