关于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() ;

关于EF中ApplyCurrentValues和ApplyOriginalValues区别的更多相关文章

  1. MVC EF中Attach和Entry区别

    EF:加入容器三种方式-->查询,attach,entry.不在容器里,不能用remove,add等方法. 1.0 使用Attach可能会出错.//attach 意思:附上; 贴上,系;var ...

  2. EF中逆变和协变

    EF中的增删改查: 实现步骤: 1.声明一个EF的上下文. bjhksjEntities dbContext = new bjhksjEntities(); 2.声明一个实体. HKSJ_USERS ...

  3. Linux下 ps -ef 和 ps aux 的区别及格式详解

    原文:https://www.cnblogs.com/5201351/p/4206461.html Linux下ps -ef和ps aux的区别及格式详解 Linux下显示系统进程的命令ps,最常用的 ...

  4. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  5. 数据库事务及其EF中如何处理事务

    一.基础知识 1)         使用事务级别ReadUnCommited 会产生脏读现像,意味着读取到的为UnCommited(未提交)的数据.怎么理解呢?在使用该隔离级别的事务开始后.更新了数据 ...

  6. top、ps -ef、ps aux的区别及内容详解

    1.top和ps的区别 ps是静态查看进程--------top是动态(持续监控)进程 ps只是查看进程-----------top还可以监视系统性能,如平均负载,cpu和内存的消耗 2.ps -ef ...

  7. 1.【使用EF Code-First方式和Fluent API来探讨EF中的关系】

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/relationship-in-entity-framework-using-code-firs ...

  8. 2.EF中 Code-First 方式的数据库迁移

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...

  9. EF中扩展出Between操作符 (修订版)

    随手记录一下,这是针对原文错误的修改. 原文:EF中扩展出Between操作符 直接使用是错误的,修改后的扩展方法: /// <summary> /// 扩展 Between 操作符 // ...

随机推荐

  1. android 为组件添加contextMenu上下文菜单

    package com.example.fragmentNavigation2.fragment; import android.os.Bundle; import android.support.v ...

  2. Mysql 批量建表存储过程

    最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create ...

  3. 李洪强漫谈iOS开发[C语言-024]-表达式与赋值运算符

  4. 使用Mybatis Generator自动生成Mybatis相关代码

    本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(2 ...

  5. bzoj3130

    这道题要谈很多: 首先,第一问等会我另外说一下: 第二问比较难想,首先我们的考虑两人的最优策略是什么 对于Bob,我们令分配了x条边的费用,则我们要最大化 ans=Σ(i=1 to x) flow[i ...

  6. 转自 Because of you 的总结

    上下界网络流的问题严格的分,可以分为四类吧. 1:无源汇可行流  sgu 194 2:有源汇可行流  poj 2396  这题比较好,我建图建了将近200行 3:有源汇最大流  zoj 3496  这 ...

  7. Android 开发性能优化之SparseArray(一)

    多数Android开发者都知道在Android中可以使用HashMap来映射一种对应关系,在java开发中HashMap也算是一种很重要的数据存储结构.然后很多人在Android开发中多数都会用Has ...

  8. wpa_supplicant 和 802.11g WPA 认证的配置

    # cd /etc/init.d# ln -s net.lo net.eth0 默认的接口名是 wlan0,让它开机时自动 up:cp /etc/init.d/net.lo /etc/init.d/n ...

  9. [King.yue]Ext.NET相比WebForm的优势

    1)更好的用户体验.(生产力++) 虽然WebForm可以使用微软的Ajax以及Ajax控件进行开发,但是用户体验还是远远不及extjs.而且你可以跟客户忽悠,这个功能多么滴难做,多么好,但是我们做出 ...

  10. ios 设备震动

    使得iOS设备震动有两个方法,均是传入kSystemSoundID_Vibrate常量. AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); Au ...