EF容器---代理类对象
#region 修改--官方的修改是,先查询,然后修改
/// <summary>
/// 修改--官方的修改是,先查询,然后修改
/// </summary>
static void Modify()
{
//此时返回的是一个Student类的代理类(包装类)对象
Studnet stu = db.Studnets.Where(s => s.s_ID == ).ToList().FirstOrDefault(); //此时其实操作的是代理类的属性,这些属性,会将只设置给内部的Student对象对应的属性,同时标记此属性为已修改状态,另外要注意,这里不只是给这个属性做个标记,同时也对当前对象做了一个标记,标记当前对象已经被修改过。
//把id=14的名字改为
stu.s_Name = "梁山伯";
stu.s_Sex = "男"; //此时EF上下文,会检查容器内部所有的对象,找到标记为已修改的对象属性,生成对应的Update语句执行。。
//保存到数据库
db.SaveChanges(); Console.WriteLine("修改成功"); }
#endregion

修改的时候不用Attach()方法。 Attach方法,返回的值是实体类对象,看下图:
//执行这句话之后,没有生成SQL语句,这只是把对象加入到上下文中,没有告诉上下文是哪个属性被修改了。。

EF容器---代理类对象的更多相关文章
- 用cglib包来为类产生动态代理类对象
		一:在JDK里也有动态代理的类和接口,是Proxy和InvocationHandler,但是Proxy只能为接口产生代理类,借助InvocationHandler的实现类来完成对类对象的代理: 但是在 ... 
- c++中代理类的学习
		https://blog.csdn.net/lcg910978041/article/details/51468680 C++代理类是为了解决这样的问题: 容器通常只能包含一种类型的对象,所以很难在容 ... 
- Mybatis源码解析,一步一步从浅入深(六):映射代理类的获取
		在文章:Mybatis源码解析,一步一步从浅入深(二):按步骤解析源码中我们提到了两个问题: 1,为什么在以前的代码流程中从来没有addMapper,而这里却有getMapper? 2,UserDao ... 
- python cookbook第三版学习笔记十四:类和对象(五)代理类以及内存回收
		代理类: 代理类的作用其实有继承有些类似,如果你想将某个实例的属性访问代理到内部另外一个实例中去,可以用继承也可以用代理.来看下代理的应用: class A: def spam(self,x) ... 
- spring的ioc容器生成的对象也是代理对象对吗
		一直以为spring的ioc容器生成的对象都是代理对象,其实这个是错误的.spring ioc默认的都是原生对象 只有通过aop增强的对象才是代理对象 有@Transactional 注解或者配置 ... 
- Emit动态生成代理类用于监控对象的字段修改
		利用Emit动态生成代理对象监控对象哪些字段被修改,被修改为什么值 被Register的对象要监控的值必须是Virtual虚类型 必须使用CreateInstance创建对象 必须使用DynamicP ... 
- 【C++沉思录】代理类
		1.考虑下面的场景:设计一个容器,包含一组类型不同但相互关联的对象(比如:Animal,Dog,Cat),对象具备多态行为.2.容器一般只能包含一种类型的对象,使用vector<Animal&g ... 
- EF  Dal通用类
		一个通用的ef dal处理类是非擦汗那个提高工作效率的 using System; using System.Collections.Generic; using System.Data.Enti ... 
- C++的代理类
		怎样在一个容器中包含类型不同,但是彼此有关系的对象?众所周知,C++的容器只能存放类型相同的元素,所以直接在一个容器中存储不同类型的对象本身是不可能的,只能通过以下两种方案实现: 1. 提供一个间接层 ... 
随机推荐
- Android使用的设计模式2——策略模式
			今天讲解一下策略模式,策略模式也是很常用的设计模式,对多种算法或者数据结构选择使用的情况下,经常会使用策略模式来管理这些算法.下面会简单讲解一下策略模式的概念和基本实现.然后结合Android里面的实 ... 
- AtomicInteger简介
			这个类真的非常实用,更重要的是 它确实非常简单: 附上自己的代码,可以自己试试: AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的 ... 
- 完全图解scrollLeft,scrollWidth,clientWidth,offsetWidth 获取相对途径,滚动图片(网上找的,未经试验,但觉得比较好)
			获取元素的位置属性可以通过 HTMLElement.offsetLeft HTMLElement.offsetTop 但是,这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其 ... 
- CSV - 操作比较
			在数据报表生成的时候,我们一般会用程序去生成CSV.其中有些需要注意的地方. log_file = open('delay.%s.csv' % s_end, 'w') log_file.write(' ... 
- DB系统预警联系人API
			Author:Skate Time:2014/12/16 DB系统预警联系人API 在我们维护系统时,须要把系统的报警信息即时传递给对应同学.假设把联系方式直接写到脚本里.对以后的维护变更将埋下祸根, ... 
- WPF调用图片路径,或资源图片
			一.加载本项目的图片WPF引入了统一资源标识Uri(Unified Resource Identifier)来标识和访问资源.其中较为常见的情况是用Uri加载图像.Uri表达式的一般形式为:协议+授权 ... 
- 我爱免费之FreeFileSync文件夹同步软件
			因为项目需求用到FreeFileSync文件夹同步软件,这个软件好在免费.易用.功能强,我真的是大爱这种软件.http://freefilesync.com/ 可以下载免费软件,有需要的朋友,大可以一 ... 
- cmd实用命令
			1.netstat 查看电脑端口状况 实际应用举例:查看某软件坚监听的电脑端口. 在任务管理器中选择列...,打开PID的显示.在这里查看某个应用程序的线程ID是多少.例如QQ:4904. 运行,cm ... 
- eclipse新建一个Android项目,就会报错android.support.v7.app.ActionBarActivity
			解决方法: 今天被这个问题折腾了一下,最后终于找到了解决办法. 产生这个问题,是因为你升级了ADT到version 22,但是还需要升级SDK Tools,Platform Tools,Build T ... 
- Spring 注释 @Autowired 和@Resource 的区别
			Spring 注释 @Autowired 和@Resource 的区别 一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired ... 
