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

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

    class Program
{
static void Main(string[] args)
{
using (var ctx = new Jason_TestEntities())
{
var List = ctx.wolf_example.ToList();
var model = List.FirstOrDefault();
//修改
model.Name = "更新";
//删除
ctx.wolf_example.Remove(List.FirstOrDefault());
ctx.wolf_example.Remove(List.FirstOrDefault(x => x.Num == ));
ctx.wolf_example.Remove(List.SingleOrDefault(x=>x.Num == ));
//在数据库中执行插入,更新和删除查询
ctx.SaveChanges();
}
}
}

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

    class Program
{
static void Main(string[] args)
{
List<wolf_example> Listw;
using (var ctx = new Jason_TestEntities())
{
Listw = ctx.wolf_example.ToList();
} using (var ctx1 = new Jason_TestEntities())
{
var update = Listw.FirstOrDefault();
ctx1.wolf_example.Attach(update);
update.Name = "update.Name111";
var Entry = ctx1.Entry(update);
Console.WriteLine("EntityState: {0}", Entry.State);
Console.ReadKey();
ctx1.SaveChanges();
}
}
}

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. python按照文件创建日期整理文件至文件夹

    # -*- coding: utf-8 -*- # @Time : 2019-02-15 13:31 # @Author : cxa # @File : sortbydate.py # @Softwa ...

  2. liunx本地网卡流量监控

    作者:邓聪聪 公司网络异常,由于可监控设备有限,无法快速读取网络异常的设备,所以找到了这个办法,部署在服务端用以解决网络突发异常流量故障的查找! 环境:CentOS release 6.8 Linux ...

  3. C# 基础之string[,] 和string[][]

    昨天做项目时碰到一个问题,后台返回一张关系表,里面就两个字段,简化为A,B字段(1:N的关系),一个A对应多个B字段. 由于对于string[,] 和string[][] 的认识不到位,刚开始搞错了数 ...

  4. MinGW-w64非官方编译器集成安装包(很清楚)

    官方链接[编辑] MinGW 官方网站. SourceForge.net上的MinGW官方的下载站点(Win32系统). MinGW-w64官方的下载站点[编辑] MinGW-w64是2005年由On ...

  5. GoLand使用

    # 不定期更新 什么是GoLand GoLand是JetBrains出品的一个Go语言IDE,JB的IDE有多好用我想很多程序员都知道,个人感觉唯一的缺点就是比较大(因为功能多) 希望大家多多支持正版 ...

  6. python之__call__()

    __call__ 在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> f(-123) ...

  7. Android Apk 瘦身大法

    原文地址: https://mp.weixin.qq.com/s/XS0tuLgTfyp4rW4h69wyQQ 一, 我们在多人开发项目 或者 遗留项目中开发时,会有些自己没用到的资源文件,但是自己也 ...

  8. AndroidManifest.xml 最全详解

    AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录.我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息.但是对于这个文件 ...

  9. with文件操作

    enumeratef = open('lyrics',"r",encoding=""utf-8) #文件句柄"""对文件操作流程 ...

  10. Windows Service 2012 R2 下如何建立ftp服务器

    1.首先在本地机器上创建一个用户!这些用户是用来登录到FTP的!我的电脑右键->管理->本地用户和组->用户->“右键”新建用户->输入用户名和密码再点创建就行了! 2. ...