连续情况下的CRUD操作是一项相当容易的任务,因为默认情况下,上下文会自动跟踪实体在其生命周期中发生的更改,AutoDetectChangesEnabled为true。

以下示例显示如何添加,更新和删除连接的场景中的实体(在上下文的范围内),而后者又将在数据库上执行insert,update和delete命令。上下文将自动检测更改并更新实体的状态。

  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. using (var ctx = new Jason_TestEntities())
  6. {
  7. var List = ctx.wolf_example.ToList();
  8. var model = List.FirstOrDefault();
  9. //修改
  10. model.Name = "更新";
  11. //删除
  12. ctx.wolf_example.Remove(List.FirstOrDefault());
  13. ctx.wolf_example.Remove(List.FirstOrDefault(x => x.Num == ));
  14. ctx.wolf_example.Remove(List.SingleOrDefault(x=>x.Num == ));
  15. //在数据库中执行插入,更新和删除查询
  16. ctx.SaveChanges();
  17. }
  18. }
  19. }

注意:如果context.Configuration.AutoDetectChangesEnabled = false,则上下文无法检测对现有实体所做的更改,因此不执行更新查询。您需要在SaveChanges()之前调用context.ChangeTracker.DetectChanges(),以便检测已编辑的实体并将其标记为“已修改”。

  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. List<wolf_example> Listw;
  6. using (var ctx = new Jason_TestEntities())
  7. {
  8. Listw = ctx.wolf_example.ToList();
  9. }
  10.  
  11. using (var ctx1 = new Jason_TestEntities())
  12. {
  13. var update = Listw.FirstOrDefault();
  14. ctx1.wolf_example.Attach(update);
  15. update.Name = "update.Name111";
  16. var Entry = ctx1.Entry(update);
  17. Console.WriteLine("EntityState: {0}", Entry.State);
  18. Console.ReadKey();
  19. ctx1.SaveChanges();
  20. }
  21. }
  22. }

Context连接和断开的情况下的CRUD操作的更多相关文章

  1. 一步步学Mybatis-实现单表情况下的CRUD操作 (3)

    今天这一章要紧接上一讲中的东西,本章中创建基于单表操作的CRUD与GetList操作,此示例中以Visitor表为范例,为了创建一点测试数据我们先弄个Add方法吧 继续在上次的IVisitorOper ...

  2. 再淡spring jdbc 连接池断开重连设置

    先看一段错误日志: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConne ...

  3. oracle10g连接自动断开,报ORA-03135错误

    问题描述: oracle使用过一段时间,连接断开,报ORA-03135错误. 问题挖掘: 用pl/sql和sqlplus连接oracle,也存在该问题,确定该问题与连接方式无关. 查看服务器,发现没有 ...

  4. SSH Secure Shell Client连接Linux断开

    修改/etc/ssh/sshd_config文件,将 ClientAliveInterval 0和ClientAliveCountMax 3的注释符号去掉,将ClientAliveInterval对应 ...

  5. Java之HashMap在多线程情况下导致死循环的问题

    PS:不得不说Java编程思想这本书是真心强大.. 学习内容: 1.HashMap<K,V>在多线程的情况下出现的死循环现象   当初学Java的时候只是知道HashMap<K,V& ...

  6. 面试官问:HashMap在并发情况下为什么造成死循环?一脸懵

    这个问题是在面试时常问的几个问题,一般在问这个问题之前会问Hashmap和HashTable的区别?面试者一般会回答:hashtable是线程安全的,hashmap是线程不安全的. 那么面试官就会紧接 ...

  7. 一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?

    我们有2台内部http服务(nginx): 201:这台服务器部署的服务是account.api.91160.com,这个服务是供前端页面调用: 202:这台服务器部署的服务是hdbs.api.911 ...

  8. 如何在关闭ssh连接的情况下,让进程继续运行?

    #screen 1 回车后进入Screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序 #应用程序名 1 然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的 ...

  9. 在不连接网线的情况下Windos与VM之间如何ping通

    一般情况下,如果宿主主机的网口连接网线并且能够上网,那么按照VM的默认安装,在VM-Settings-Hardware-Network Adapter-Network connection中选择Bri ...

随机推荐

  1. Boost property_tree解析json

    使用Boost property_tree解析json 之前使用jsoncpp解析json,现在才知道boost就有解析的库,学习一下吧 property_tree可以解析xml,json,ini,i ...

  2. Unity打包PC端各种屏幕适配,无边框,最小化,显示可拖拽部分

    using UnityEngine; using System.Collections; using UnityEngine.EventSystems; //using UnityEngine.Sce ...

  3. <pre>标签的基本样式设置

    断行 在html中,换行符无法在一般标签内作为布局控制显示,包括xml实体 和 均表现为white-space,仅用于断字[1]. 一般情形下,可使用<br>标签断行:但需要从原始xml文 ...

  4. less/sass 基础base文件

    less less-base.less文件展示: //清除标签默认样式; .label(){ ;;;_background-image:url(n1othing.txt)} ;;; font-size ...

  5. 前端 ----jQuery的属性操作

    04-jQuery的属性操作   jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如 ...

  6. 【原创】大数据基础之Benchmark(2)TPC-DS

    tpc 官方:http://www.tpc.org/ 一 简介 The TPC is a non-profit corporation founded to define transaction pr ...

  7. 行为驱动:BDD框架之Cucumber初探

    1.cucumber cucumber早在ruby环境下应用广泛,作为BDD框架的先驱,cucumber后来被移植到了多平台,简单来说cucumber是一个测试框架,就像是juint或是rspec一样 ...

  8. swift 实践- 12 -- UIPickerView

    import UIKit class ViewController: UIViewController , UIPickerViewDelegate,UIPickerViewDataSource{ v ...

  9. 点击<a>标签后禁止页面跳至顶部

    一.点击<a>标签后禁止页面跳至顶部 1. 使用 href="javascript:void(0);",例如: <a href="javascript: ...

  10. Confluence 6 数据收集隐私策略

    为什么 Confluence 收集使用数据? 针对 Confluence 我们很自豪 Confluence 是这个星球上最高效和强大的协作工具,我们也计划继续保持这个特性,尽我们最大的努力提供更新的 ...