EF 增删改
一、新增
UserInfo user = new UserInfo()
{
UserName = "jamsebing",
UserPass = ""
};
db.UserInfo.Add(user);
二、删除之 [Entry].State=Deleted
var user = new UserInfo()
{
UserID = , //根据主键删除
UserName="jamesbing"
};
db.Entry<UserInfo>(user).State = System.Data.Entity.EntityState.Deleted;
这里指定了UserName没有任何意义,只需填写UserId即可
删除之 [Attach+Remove]
var user = new UserInfo()
{
UserID = //根据主键删除
};
//Attach的实体事先不能已经在内存中,否则上下文会追踪到两个相同键名的实体
//将对象添加到EF管理容器中 ObjectStateManager
db.UserInfo.Attach(user);
////将对象包装类状态标识为删除
db.UserInfo.Remove(user);
删除之 [先查询实体 再删除]
// 执行了2次sql 效率略低 ,一次查询,一次删除
var user = (from u in db.UserInfo where u.UserID == select u).FirstOrDefault();
db.UserInfo.Remove(user);
db.SaveChanges();
三、修改整个实体 [Entry].State=Modified
//手动创建整个修改实体
var user = new UserInfo()
{
UserID = ,
UserName = "jamesbing2",
UserPass = ""
};
db.Entry<UserInfo>(user).State = System.Data.Entity.EntityState.Modified;
修改指定字段之 [Attach(entity)]
var user = new UserInfo()
{
UserID = ,
UserName = "jamesbing2"
};
//State默认值=System.Data.EntityState.Unchanged
var entry=db.UserInfo.Attach(user);
//设置需要修改的字段
entry.Property<string>(v => v.UserName).IsModified = true;
修改指定字段之 [Entry(entity)].State=Unchanged
var user = new UserInfo()
{
UserID = ,
UserName = "jamesbing2"
};
var entry= db.Entry<UserInfo>(user);
//如果使用 Attach 就不需要这句
entry.State = System.Data.EntityState.Unchanged;
//设置需要修改的字段
entry.Property<string>(v => v.UserName).IsModified = true;
EF 增删改的更多相关文章
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...
- 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序
分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图. 1.首先建立一个数 ...
- 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式
一. 背景 说起EF的增删改操作,相信很多人都会说,有两种方式:① 通过方法操作 和 ② 通过状态控制. 相信你在使用EF进行删除或修改操作的时候,可能会遇到以下错误:“ The object c ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- WPF MVVM+EF增删改查 简单示例(二) 1对1 映射
WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...
- C# EF增删改查
1.增 //1.创建一个EF数据上下文对象 MyDBEntities context=new MyDBEntities(); //2.将要添加的数据,封装成对象 Users user = new Us ...
- MVC3.0 EF增删改查的封装类
本人亲身使用EF CodeFirst,因为增删改查都是使用EF内置的一些方法,我想把它封装到一个类调用就行了.结合网上的资料和自己的整理,若有不对的地方望斧正,感激不尽.直接上代码吧.我就用新闻的增删 ...
- EF学习笔记-1 EF增删改查
首次接触Entity FrameWork,就感觉非常棒.它节省了我们以前写SQL语句的过程,同时也让我们更加的理解面向对象的编程思想.最近学习了EF的增删改查的过程,下面给大家分享使用EF对增删改查时 ...
- EF增删改查的优化
在EF的上一篇博客中已经对它的增删改查有了一个简单的了解.当中的改动过程是先要把要改动的内容查出来然后再进行改动.保存.它详细的过程是这种 首先当在运行查询语句的时候"EF数据上下文&quo ...
- (转)构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码
原文地址:http://www.cnblogs.com/ymnets/archive/2013/11/16/3426454.html 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间 ...
随机推荐
- VIM 常用命令
1.当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键. 命令模式下: :wq 保存并且退出 :w 只保存不推出 :q 不保存退出 :q! 不保存强制退出 :wq! 保存并强制退 ...
- Vijos1404遭遇战[最短路建模]
背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...
- ArrayList,Vector,LinkedList
在java.util包中定义的类集框架其核心的组成接口有如下:·Collection接口:负责保存单值的最大父接口 |-List子接口:允许保存重复元素,数据的保存顺序就是数据的增加顺序: |-Set ...
- http、tcp、udp、OAUTH2.0网络协议区别
一.先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RAR ...
- ToolProvider.getSystemJavaCompiler() Return NULL!
http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html
- WebApi2跨域问题
一.跨域问题产生的原因:同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能. 现在所有支持JavaScript 的浏览器都会使用这个策略. 所谓同源是指,域 ...
- JS组件系列——Bootstrap 树控件使用经验分享
前言:很多时候我们在项目中需要用到树,有些树仅仅是展示层级关系,有些树是为了展示和编辑层级关系,还有些树是为了选中项然后其他地方调用选中项.不管怎么样,树控件都是很多项目里面不可或缺的组件之一.今天, ...
- RapidJSON 代码剖析(三):Unicode 的编码与解码
根据 RFC-7159: 8.1 Character Encoding JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32. The defa ...
- URLConnection类介绍
URLConnection是一个功能强大的抽象类,它表示指向URL指定资源的活动连接. 与URL类相比,它与服务器的交互提供了更多的控制机制.尤其服务器是HTTP服务器,可以使用URLConnecti ...
- dubbo zk 分布式服务项目搭建与配置
1. 项目 jar -----提供接口 2. 项目 jar -----接口实现 provider启动zk main方法启动 start applicationContext.xml <b ...